【问题标题】:How to use redirect_authenticated_user with extra_context in Django如何在 Django 中使用 redirect_authenticated_user 和 extra_context
【发布时间】:2017-07-27 04:04:00
【问题描述】:

我目前正在使用 Django v1.11。我想要发生的是,如果经过身份验证的用户访问登录页面,他们将被重定向。在我的情况下,即使他们经过身份验证,他们现在也可以访问登录页面。

我之前的 url.py 是这样的:

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(),但 extra_context 在我的 registration/login.html 默认模板上不再起作用。

{% 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')

我错过了什么吗?

【问题讨论】:

    标签: python django


    【解决方案1】:

    像这样传递extra_content

     url(r'^login/$', auth_views.LoginView.as_view(extra_context= { 'all_user': User.objects.all() },redirect_authenticated_user=True),name='login')
    

    【讨论】:

    • 它给了我一个错误,说需要 1 个位置参数,但在 as_view() 中给出了 2 个
    • 很高兴兄弟,我可以帮助你:),保重@keisaac
    猜你喜欢
    • 2011-04-18
    • 1970-01-01
    • 2012-06-06
    • 2019-08-02
    • 1970-01-01
    • 2011-10-09
    • 2013-04-06
    • 2012-11-06
    • 1970-01-01
    相关资源
    最近更新 更多