2016-10-04 56 views
0

也许这只是一个错误或众所周知的功能,但没有发现任何与谷歌。从形式
片段(RegisterForm Django的注册):不能将css类添加到某些窗体fieds

从模板
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

您在定义窗口小部件时看起来像缺少信息。恣看便知这里提供:

CSS styling in Django forms

+0

IMO我已经做了相同的事情,在相关的答案。你能否指定我错过了哪些细节? –

+0

是否将表单添加到输入帮助中?示例:'last_name':forms.TextInput(attrs = {'class':“form-control”}), – Zorpho

+0

1.snippet适用于first_name和last_name字段,但不适用于电子邮件或密码。所以它不是一个进口问题。也请阅读我自己的答案 –

0

futher测试它似乎像使用Django登记错误后。并非所有字段都通过小部件规范获取属性作为解决方法,我通过templatetags添加了css类。

我不知道它是否正确,所以我不会将此标记为接受的答案。但它帮助了我。