我想在我的字段中添加占位符但由于某种原因,这不起作用。当我查看页面源时,占位符属性甚至不存在。
这是我的forms.py:
class RegistrationForm(UserCreationForm):
email = forms.EmailField(required=True, max_length=254)
class Meta:
model = User
fields = ('username', 'email', 'password1', 'password2',)
widgets = {
'username' : forms.TextInput(attrs={'placeholder': 'Username'}),
'email' : forms.TextInput(attrs={'placeholder': 'Email'}),
'password1' : forms.TextInput(attrs={'placeholder': 'Password'}),
'password2' : forms.TextInput(attrs={'placeholder': 'Confirm Password'}),
}
这是我用于HTML的模板:
<!DOCTYPE html>
{% extends 'base.html' %}
{% load staticfiles %}
{% block content %}
<section class="container">
<div class="row centre-v">
<div class="card login-card">
<div class="main card-block">
<h1>Sign up</h1>
<div class="login-or">
<hr class="hr-or">
</div>
<form action="." method="post" class="register-form">
{% csrf_token %}
{% for field in form %}
<p>
{{ field }}
{% for error in field.errors %}
<div class="alert alert-danger" role="alert"><strong>{{ error }}</strong></div>
{% endfor %}
</p>
{% endfor %}
<div class="btn-login">
<input class="btn btn-info" type="submit" value="Register">
</div>
</form>
</div>
</div>
</div>
</section>
{% endblock %}
答案 0 :(得分:1)
根据"Memory address" 12
"Memory Address" 12
10 20
的{{3}},ModelForm
类仅用于从基础模型生成字段。在ModelForm类中显式声明的字段不受Meta
中设置的属性的影响。您在班级中声明Meta
,并在继承的email
班级中声明password1
和password2
。 (UserCreationForm
是自动生成的,因此您在username
类中设置的窗口小部件属性可能适用于该字段。)要设置声明字段的属性,您可以使用Meta
字典。< / p>
self.fields