Django Allauth动态LOGIN_URL

时间:2016-08-28 12:06:15

标签: python django twitter-bootstrap django-allauth

我在我的网站上使用django-allauth来处理用户登录/注销/注册。

目前我只希望用户能够从网站上的每个页面登录/注册。

为此,我在base.html中添加了一个bootstrap模式,可以通过标题中的按钮访问。

<div class="modal-body">
    <form method='post' action='/accounts/login/?next={{ request.get_full_path }}' id='login'>
        {% csrf_token %}
        {{ login_form|crispy }}
        <input type='submit' class="btn btn-primary" value='Log In'>
    </form>
</div>

我使用上下文处理器从allauth提供LoginForm:

from allauth.account.forms import LoginForm

def login_form(request):
    return {
        'login_form': LoginForm
    }

只要登录数据正确,这就可以正常工作。我被重定向到具有登录状态的源页面。

现在,如果用户输入了错误的密码,则会显示/ accounts / login中的allauth模板,并显示错误消息。我想以一种方式覆盖LoginForm / LoginView,它从请求中调用视图并将表单(有错误)添加到上下文中。

这可能吗?

更新 我发现我可能需要在LoginView中覆盖form_invalid并将其设置为我将表单添加到context_processor中的视图?

0 个答案:

没有答案