Python django两个应用程序,每个url中有相同的url';s、 py文件

Python django两个应用程序,每个url中有相同的url';s、 py文件,python,django,Python,Django,我的django项目中有两个应用程序,一个是“home”,另一个是“administrator”。我正在使用主页应用程序访问网站前端,使用管理员应用程序访问管理面板,访问前端和管理面板的URL分别为:- www.domainname.com/home www.domainname.com/administrator 主URL.py文件是:- from django.conf.urls import include, url from django.contrib import admin u

我的django项目中有两个应用程序,一个是“home”,另一个是“administrator”。我正在使用主页应用程序访问网站前端,使用管理员应用程序访问管理面板,访问前端和管理面板的URL分别为:-

www.domainname.com/home
www.domainname.com/administrator
主URL.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'))
]
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')
]
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')
]
Home的url.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'))
]
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')
]
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')
]
管理员的URL.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'))
]
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')
]
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')
]
您可以检查两个应用程序的文件中是否有一些常见的url,如索引、仪表板、注销帮助

如果我在href中链接这些url,例如,如果我使用

<a href="{% url 'help' %}" >


它试图将我重定向到管理面板的帮助url,如果我更改主url.py文件中应用程序的顺序,则会出现相反的问题

您可以尝试向URL添加名称空间

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' %}" >


使用名称空间我必须在我的整个项目中更改链接,我知道这可以解决我的问题,但是有其他解决方案吗?很抱歉,我不知道其他任何方法。也许你可以只为一个url模式添加名称空间。这将至少减少您必须更改url的位置数。