2017-06-20 21 views
0

私のプロジェクト、研究所、学生には2つのアプリがあります。私はroot urlファイルにinstitute appのURLを含めました。1つのアプリのURLをdjangoの別のアプリのurlsファイルに含めます

ルートurls.py

urlpatterns += [  
    url(r'^insti/', include('institute.urls', namespace='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')), 
] 

学生/ 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を打っていた場合、それが正常に動作しますが、できるだけ早く私はURLそれがスローlocalhost/insti/studentsを打つように私は

「学生のエラーで私のコードのどこかに登録した名前空間

ではありません行return HttpResponseRedirect(reverse("students:signin"))

私は研究所のURLに学生のURLを含めている方法が間違っている、またはいくつかの他の問題がありますか?

+0

学生のアプリは文句を言わないテンプレートで、それはなります、同研究所は、サインイン: – Exprator

+0

それは、サインインURLを持ってサインインの。私はそれを省いた。それを含む。 – User42

答えて

1

procedeに良い方法は次のとおりです。

ルート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"))を使用することができます。あなたのURLが組織を変更したくない場合は

、これを使用する:URLを持っているdoesntの

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

私はリターンHttpResponseRedirect(reverse( "institue:students:signin"))を使用しています。 – User42

関連する問題