也许这只是一个bug或众所周知的功能,但没有找到谷歌的任何东西 来自表单的片段(用于django-registration的RegisterForm):
widgets = {
'username': HiddenInput(),
'email': EmailInput(attrs={'class': "form-control"}),
'password1': PasswordInput(attrs={'class': "form-control"}),
'password2': PasswordInput(attrs={'class': "form-control"}),
'first_name': TextInput(attrs={'class': "form-control"}),
'last_name': TextInput(attrs={'class': "form-control"}),
}
模板片段:
<div class="container">
{{ form.non_field_errors }}
<form method="post">
{% csrf_token %}
{% for field in form %}
{% if field.name != 'username' %}
<div class="form-group row {% if field.errors %}has-danger{% endif %}">
{% if field.errors %}
<div class="form-control-feedback">{{ field.errors.as_text }}</div>
{% endif %}
<label for="{{ field.id_for_label }}" class="col-form-label col-xs-2">{{ field.label }}</label>
<div class="col-sm-10">
{{ field }}
</div>
</div>
{% endif %}
{% endfor %}
<div class="form-group row">
<div class="offset-sm-2 col-sm-10">
<button type="submit" class="btn btn-primary">Register</button>
</div>
</div>
</form>
根本没有火箭科学。密码和电子邮件不会获得css类,而是文本字段!我错过了什么吗?
答案 0 :(得分:0)
您在定义小部件时缺少信息。请看这里提供的答案:
答案 1 :(得分:0)
经过进一步的测试,这似乎是django-registration的一个错误。并非所有字段都通过小部件规范获取属性作为解决方法,我通过templatetags添加了css类。
我不知道它是否正确,所以我不会将此标记为已接受的答案。但它帮助了我。