问题与在Django
问题描述:
命名空间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]))
我所有的想法就这样...它的怪异。我不明白。
任何帮助表示赞赏:)
答
谨防贪婪网址...
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的网址是所有花。