python - 将一个应用程序的 url 包含到 django 中另一个应用程序的 urls 文件中

标签 python django url

我的项目中有两个应用程序:学院和学生。我已将学院应用程序的 url 包含在根 url 文件中。

根 urls.py

urlpatterns += [    
    url(r'^insti/', include('institute.urls', namespace='institute')), 
]

institute/urls.py 文件

from institute import views
from django.conf.urls import url, include

app_name = "institute"
# institute urls
urlpatterns = [
    url(r'^$', views.institute_home, name='home'),
    url(r'^signin/$', views.signin, name='signin'),
    url(r'^logout/$', views.institute_logout, name='logout'),
    # other urls here
]
# students urls in institute
urlpatterns += [    
    url(r'^student/', include('students.urls', namespace='students')),
]

students/urls.py 文件

from django.conf.urls import url
from students import views

app_name = "students"
urlpatterns = [
    url(r'^$', views.students_home, name="students_home"),
    url(r'^register/$', views.register, name="register"),
    url(r'^signin/$', views.signin, name="signin"),
    url(r'^logout/$', views.students_logout, name="logout"),
    # other urls
]

当我点击 localhost/insti/sigin, localhost/insti/<anything> 这样的网址时它工作正常,但是一旦我点击 url localhost/insti/students它引发了我的错误

'students' is not a registered namespace

在我的代码中的某处 return HttpResponseRedirect(reverse("students:signin"))

我在学院网址中包含学生网址的方式是否错误或者存在其他问题?

最佳答案

更好的方法是:

根 urls.py

urlpatterns += [
    url(r'^insti/student/', include('students.urls', namespace='students')),
    url(r'^insti/', include('institute.urls', namespace='institute')),
]

因此您可以使用return HttpResponseRedirect(reverse("students:signin"))

如果您不想更改网址组织,请使用此:

return HttpResponseRedirect(reverse("institue:students:signin"))

关于python - 将一个应用程序的 url 包含到 django 中另一个应用程序的 urls 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44658128/

相关文章:

python - 如何在 sqlalchemy.engine.Connection 中设置 autocommit = 1

Django-工厂男孩在一家工厂无缘无故失败

python - 在 Django 模板中访问并行数组?

javascript - 在 php 和 html 中重写/屏蔽 url 地址

rest - 微服务中 REST 的 URL 模式

python - 提高从 pandas 写入 sqlite 时的性能

python - 添加多个矩阵而不构建新矩阵

python - pytorch 上的“没有名为 cv2 的模块”导入错误

Django-Channels:锁定类中的关键部分

javascript - 监视 Javascript 中 window.location URL 中的片段更改