我的 django 项目中有两个应用程序,一个是“home”,另一个是“administrator”。我使用家庭应用程序作为网站的前端,使用管理员应用程序作为管理面板,用于访问前端和管理面板的网址分别是:-
www.domainname.com/home
www.domainname.com/administrator
主 urls.py 文件是:-
from django.conf.urls import include, url
from django.contrib import admin
urlpatterns = [
url(r'^home/', include('home.urls')),
url(r'^administrator/', include('administrator.urls'))
]
Home 的 urls.py 文件是:-
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.index, name='index'),
url(r'^sport$', views.sport, name='sport'),
url(r'^register$', views.signup_signin, name='register'),
url(r'^login$', views.login, name='login'),
url(r'^signup$', views.signup, name='signup'),
url(r'^registered-successfully$', views.registered_successfully, name='registered-successfully'),
url(r'^logout$', views.logout_view, name='logout'),
url(r'^dashboard$', views.dashboard, name='dashboard'),
url(r'^create-new-event$', views.create_new_event, name='create-new-event'),
url(r'^help$', views.help, name='help'),
url(r'^account-settings$', views.account_settings, name='account-settings')
]
管理员的 urls.py 文件是:-
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.index, name='index'),
url(r'^logout$', views.logout, name='logout'),
url(r'^dashboard$', views.dashboard, name='dashboard'),
url(r'^profile$', views.profile, name='profile'),
url(r'^edit-profile$', views.edit_profile, name='edit-profile'),
url(r'^check-password$', views.check_password, name='check-password'),
url(r'^help$', views.faq_management, name='help')
]
您可以检查两个应用程序的文件中是否有一些常见的网址,例如索引、仪表板、注销帮助。
如果我在 href 中链接这些网址,例如如果我使用在前端链接“help”网址,这些网址就会产生问题
<a href="{% url 'help' %}" >
它尝试将我重定向到管理面板的帮助网址,如果我更改主 urls.py 文件中应用程序的顺序,反之亦然,则会出现问题。
最佳答案
您可以尝试向您的网址添加命名空间
urlpatterns = [
url(r'^home/', include('home.urls', namespace='home')),
url(r'^administrator/', include('administrator.urls', namespace='admin'))
]
然后您可以像这样访问它们:
<a href="{% url 'home:help' %}" >
<a href="{% url 'admin:help' %}" >
关于python - django 两个应用程序在每个 url's.py 文件中具有相同的 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39695836/