自定义 django-allauth 登录视图

Posted

技术标签:

【中文标题】自定义 django-allauth 登录视图【英文标题】:Customizing django-allauth Login view 【发布时间】:2016-04-01 14:23:44 【问题描述】:

我是 django 新手,我正在尝试使用 django allauth 设置登录和注册页面。在各种教程的帮助下,我成功地使用了。但是我想自定义我的登录页面,但同时我继续使用 allauth 代码。使用QUESTION 的答案,我已经取得了一些进展,但我仍然无法在我的模板上显示任何表单字段。 基本上,我正在寻找对上述问题的代码的解释,但为了帮助初学者而有所缓和。

这是我目前拥有的代码:

我的意见.py

from django.shortcuts import render
from django.http import HttpResponse
from  .forms import nibit_login

def login(request):
    context = 
        'login_form': nibit_login(),
    
    return render(request, 'accounts_app/nibit_login.html', context)

我的表单.py

from allauth.account.forms import LoginForm

class nibit_login(LoginForm):
    def __init__(self,*args,**kwargs):
        super(LoginForm, self).__init__(*args,**kwargs)
        self.fields['remember'].label = 'Stay signed in'
        self.fields['remember'].initial = True

nibit_login.html 模板

<html>
    <head>
    <title>Login</title>
    </head>
    <body>
        <p> This is the login template </p>

        <form method="post" class="login-form">
            % csrf_token %
             context.as_p 
             <button type="submit" class="save btn btn-default">Save</button>
        </form>
    </body>

</html>

这就是我希望得到的帮助:

    要让从 allauth 登录表单继承的表单字段显示在我的模板上,以便我可以自定义 关于如何更好地自定义 django-allauth 登录表单的建议

【问题讨论】:

【参考方案1】:

我刚刚遇到这个问题,正在寻找有关自定义 allauth 登录页面的建议。

我认为您的问题是您正在传递上下文,但使用错误的关键字来引用模板中的上下文。

在 nibit.html 中,尝试将 context.as_p 更改为 login_form.as_p

【讨论】:

以上是关于自定义 django-allauth 登录视图的主要内容,如果未能解决你的问题,请参考以下文章

使用 django-allauth 实现 Ajax 请求/响应

自定义视图控件例:自定义正方形

使用 django-allauth 时如何自定义用户配置文件

使用 django-allauth 额外数据添加自定义用户

如何在 django-allauth 上自定义 activate_url?

如何使用 django-allauth 进行自定义注册?