我找不到用django-crispy-forms创建的django-allauth形式重新定义电子邮件字段的标题和占位符的方法。
templates\account\login.html
{% extends '_base.html' %}
{% load crispy_forms_tags %}
{% block title %}Log In{% endblock title %}
{% block content %}
<h2>Log In</h2>
<form method="post">
{% csrf_token %}
{{ form|crispy }}
<button class="btn btn-success" type="submit">Log In</button>
</form>
{% endblock content %}
此代码表单示例使用电子邮件和密码创建了登录页面
urls.py project level
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
# Django admin
path('admin/', admin.site.urls),
# User management
path('accounts/', include('allauth.urls')),
]
设置
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend',
'allauth.account.auth_backends.AuthenticationBackend',
)
ACCOUNT_AUTHENTICATION_METHOD = 'email'
以我的形式,我找到了一种覆盖密码字段标签的方法
app\forms.py
from allauth.account.forms import LoginForm, PasswordField
class YourLoginForm(LoginForm):
password = PasswordField(label="custom_label_for_pass ")
我想知道如何灵活地管理以这种方式创建的表单。预先感谢您的帮助。
您读过Log in / Sign up directly on home page吗?
那里的解决方案将起作用,但可能不是正确或最简单的方法。也许您已经过去了,但希望对您有所帮助。