【发布时间】:2016-09-16 21:37:31
【问题描述】:
我有一个问题,在我的 login.html 文件中,电子邮件字段不会显示。这是html代码:
<form method="POST" id="signup_form" action="{% url 'account_login' %}" class="registration-form">{% csrf_token %}
<div class="form-group">
<!-- <input type="text" name="email" placeholder="Email" class="form-email form-control" id="form-email"> -->
{{ form.email }}
</div>
<div class="form-group">
<!-- <input type="password" name="password" placeholder="Lozinka" class="form-about-yourself form-control" id="form-about-yourself"></input> -->
{{ form.password}}
</div>
{% if redirect_field_value %}
<input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}" />
{% endif %}
<a class="button secondaryAction" href="{% url 'account_reset_password' %}">
{% trans "Zaboravili ste oznaku?" %}
</a>
<br>
<button type="submit" class="btn">Prijavite se</button>
</form>
所以电子邮件字段不会显示,但密码字段会显示。还显示密码字段,但我无法自定义它。以下是我的尝试:
class AuthenticationForm(forms.ModelForm):
"""
Login form
"""
class Meta:
model = get_user_model()
fields = ['email', 'password']
def __init__(self, *args, **kwargs):
super(AuthenticationForm, self).__init__(*args, **kwargs)
self.fields['email'].widget = forms.EmailInput(attrs={
'placeholder': 'Email adresa*',
'required': True,
'class': "form-email form-control"
})
self.fields['password'].widget = forms.PasswordInput(attrs={
'placeholder': 'Lozinka*',
'required': True,
'class': "form-first-name form-control"
})
我的注册页面拥有所有这些,并且运行良好。我尝试使用 form.as_p 并且效果很好,但我想要自己的风格。感谢您的宝贵时间。
【问题讨论】:
标签: html django django-forms django-allauth