我在谷歌上搜索了这个问题,没有找到任何有用的东西
下面是我的项目结构:
-myproject
-controlpanel
-urls.py
-views.py
-templates
-controlpanel
-index.html
-include
-navbar.html
-main
-urls.py
-views.py
-templates
-main
-index.html
-partials
-navbar.html
-myproject
-urls.py
这是我的控制面板URL.py文件:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
path('servers', views.servers, name='servers'),
]
这是我的主URL.py文件:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
path('join', views.join, name='join'),
path('rules', views.rules, name='rules'),
path('services', views.services, name='services'),
path('stats', views.stats, name='stats'),
path('gdpr', views.gdpr, name='gdpr'),
path('login', views.login, name='login'),
]
这是myproject URL.py:
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('', include('main.urls')),
path('controlpanel/', include('controlpanel.urls')),
path('admin/', admin.site.urls),
]
现在,当用户未指定任何子目录时,应将其重定向到app main中的index.html
问题是某些{%url'urlname%}从其他项目返回url。例如,当我在主应用程序导航栏中使用{%url'索引'%}时,它使用了url控制面板/索引,这是不应该的
当我为controlpanel创建导航栏并导入CSS时,我也遇到了这种情况,但我通过将文件夹重命名为“include”解决了这个问题。我通常只会重命名文件,以将其修复为index>;家等等。。但是这个应用程序应该被复制到现有的项目中,我不想用这种肮脏的方式
我不知道怎么修理它。任何帮助都将不胜感激
正如您可能怀疑Django可以轻松解决此问题一样,您可以在Django documentation中看到一些示例
在每个URL.py文件中,您可以指定一个“应用程序名称”。在您的情况下,您可以执行以下操作:
第二个URL.py
现在,在任何反向或url模板标记中,都可以包含应用程序名称,如下所示:
Django现在知道在哪里查找“name”索引
相关问题 更多 >
编程相关推荐