Python 在django中将一个应用程序的URL包含到另一个应用程序的URL文件中

Python 在django中将一个应用程序的URL包含到另一个应用程序的URL文件中,python,django,url,Python,Django,Url,我的项目中有两个应用程序,分别是institute和students。我已经在根url文件中包含了institute应用程序的url 根URL.py urlpatterns += [ url(r'^insti/', include('institute.urls', namespace='institute')), ] institute/url.py文件 from institute import views from django.conf.urls import url

我的项目中有两个应用程序,分别是institute和students。我已经在根url文件中包含了institute应用程序的url

根URL.py

urlpatterns += [    
    url(r'^insti/', include('institute.urls', namespace='institute')), 
]
institute/url.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')),
]
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
]
学生/url.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')),
]
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/
这样的url时,它工作正常,但只要我点击url
localhost/insti/students
它就会抛出错误

“students”不是已注册的命名空间

在我的代码中的某处,第
行返回HttpResponseRedirect(反向(“学生:登录”)


我在学院url中包含学生url的方式是错误的还是存在其他问题

更好的处理方法是:

根URL.py

因此,您可以使用
返回HttpResponseRedirect(反向(“学生:登录”)

如果您不想更改URL组织,请使用以下命令:

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

学生应用程序没有url登录,不会在模板中显示institute:signinIt有signin url。我省略了。包括它。我正在使用return-HttpResponseRedirect(reverse(“institue:students:signin”))并且它成功了。