2016-03-06 63 views
0

命名空間URL解析我在與在我寫的邀請程序URL解析問題。問題與在Django

基本上我都有,如果他們的工作人員,或邀請頁面,如果他們不是工作人員的身份驗證的用戶會被重定向到任何一個儀表盤重定向視圖。夠簡單吧?

然而,不論用戶是員工的用戶被重定向到邀請視圖。

是確鑿的證據是response.resolver_match我在我單位的一個拉着值測試

ResolverMatch(func=invitation.views.invitation, args=(), kwargs={'invitation_name': 'dashboard'}, url_name=invitation, app_names=[], nam 
espaces=['invitation']) 

最奇怪的一點是,如果我真的登錄,一名工作人員,在瀏覽器網址是/邀請/儀表板/

這裏是我的urls.py

urlpatterns = [ 
url(r'^invitation/', include("invitation.urls", namespace="invitation")), 
url(r'^login-redirect/$', login_redirect, name="login_redirect"), 
url(r'^$', 
    login, 
    {"template_name": "invitation/login.html"}, 
    name="login"), 
] 

invitation.urls

urlpatterns = [ 
url(r'(?P<invitation_name>[\w]+)/$', views.invitation, name="invitation"), 
url(r'add-invitation/$', views.add_invitation, name="add_invitation"), 
url(r'dashboard/$', views.dashboard, name="dashboard"), 
] 

login_redirect視圖

@login_required 
def login_redirect(request): 
    if request.user.is_staff: 
     return redirect(reverse("invitation:dashboard")) 
    else: 
     return redirect(
      reverse("invitation:invitation", 
      args=[request.user.username])) 

我所有的想法就這樣...它的怪異。我不明白。

任何幫助表示讚賞:)

回答

0

謹防貪婪網址...

urlpatterns = [ 
    url(r'dashboard/$', views.dashboard, name="dashboard"), 
    url(r'(?P<invitation_name>[\w]+)/$', views.invitation, name="invitation"), 
    url(r'add-invitation/$', views.add_invitation, name="add_invitation"), 
] 

重新organzing的網址是所有花。