我目前正在使用Django v1.11。我想要发生的是,如果经过身份验证的用户访问登录页面,他们将重定向。就我而言,即使他们经过身份验证,他们也可以访问登录页面。
我以前的 url.py ,extra_context的工作原理如下:
url(r'^login/$', auth_views.login, {'extra_context': { 'all_user': User.objects.all() }}, name='login')
然后根据此文档:https://docs.djangoproject.com/en/1.11/topics/auth/default/#django.contrib.auth.views.LoginView
我将登录的urls.py更改为LoginView.as_view(),但我的 registration / login.html 默认模板上的extra_context不再有效。
{% for user in all_user %}
<option>{{ user.username }}</option>
{% endfor %}
urls.py
url(r'^login/$', auth_views.LoginView.as_view(redirect_authenticated_user=True), {'extra_context': { 'all_user': User.objects.all() }}, name='login')
我错过了什么吗?
答案 0 :(得分:1)
像这样传递extra_content
url(r'^login/$', auth_views.LoginView.as_view(extra_context= { 'all_user': User.objects.all() },redirect_authenticated_user=True),name='login')