python - django 两个应用程序在每个 url's.py 文件中具有相同的 url

标签 python django

我的 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/

相关文章:

django - 如何在 Django 中序列化模型实例?

javascript - Django 和 Ember.js

python - 是否有任何在设计时考虑到人类的 Python XML 解析器?

python - 检查 Windows 上是否有任何设备正在播放声音 python

python - 为 Linked-List 类实现递归 Add 方法时遇到问题

python - 预填充 Django 表单 - request.FILES 和实例

python - 在 Windows 上的 virtualenv 中安装 python-ldap

python - Django 说配置不当 : The included URLconf does not appear to have any patterns in it

python - 如何从 Django 表单获取 ChoiceField 值?

python - 无法使用 `kafka-python` 轮询二进制消息