django - 如何自定义 Django-allauth 和模板?

标签 django django-templates django-allauth

是否有关于如何自定义 django-allauth 模板和字段的教程。 我知道如何使用现有的 allauth 并添加字段。 但我想了解完全自定义模板,例如更改顺序等?

最佳答案

如果创建文件 templates/account/login.html在代码布局中使用此名称,它可以覆盖 django-allauth 附带的名称。 .

对于社交帐户 templates/<b>socialaccount</b>/connections.html

Django-Allauth 有一些 documentation覆盖模板。

重新排序表单的选项之一

# yourapp/forms.py
from allauth.account.forms import SignupForm
class YourSignupForm(SignupForm):
    field_order = ['email', 'username', 'password1', 'password2']

# settings.py:
ACCOUNT_FORMS = {'signup': 'mysite.forms.YourSignupForm'}

一些示例 rendering fields manually

<div class="fieldWrapper">
    {{ form.email.errors }}
    <label for="{{ form.email.id_for_label }}">Your email address:</label>
    {{ form.email }}
</div>
<div class="fieldWrapper">
    {{ form.username.errors }}
    <label for="{{ form.username.id_for_label }}">Your Username:</label>
    {{ form.username }}
</div>
<div class="fieldWrapper">
    {{ form.password1.errors }}
    <label for="{{ form.password1.id_for_label }}">Password:</label>
    {{ form.password1 }}
</div>
<div class="fieldWrapper">
    {{ form.password2.errors }}
    <label for="{{ form.password2.id_for_label }}">Password(again):</label>
    {{ form.password2 }}
</div>

您的代码:

from allauth.account.forms import SignupForm
class MyCustomSignupForm(SignupForm):
    first_name = forms.CharField(max_length=100) 
    last_name = forms.CharField(max_length=100)

    def save(self, request):

        user = super(MyCustomSignupForm, self).save(request)

        return user

<强> settings.py:

ACCOUNT_FORMS = {'signup': 'mysite.forms.MyCustomSignupForm'}

关于django - 如何自定义 Django-allauth 和模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59794236/

相关文章:

Django-allauth 没有配置 Facebook 应用程序 : please add a SocialApp using the Django admin

django - 在 Django 项目中将 service worker 和 manifest 放在哪里?

python - 如何在django html模板中调用函数

django - 如何将通用字典数据传递到 django 中的每个页面

django - 如何防止 Django 解释包含弯引号的 block ?

python - 设置 django-allauth,收到错误 : Index column size too large

python - 用于 elasticbeanstalk 上自动缩放的 django 应用程序的多个 celerybeat 实例

django - 在 Django 中删除上传的文件

django - 如何从 Django 中的 CharField 获取当前选择的选项?

django - 扩展 Django 中的默认用户模型