Python 在django中将一个应用程序的URL包含到另一个应用程序的URL文件中
我的项目中有两个应用程序,分别是institute和students。我已经在根url文件中包含了institute应用程序的url 根URL.pyPython 在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
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时,它工作正常,但只要我点击urllocalhost/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”))并且它成功了。