2016-10-04 40 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類。

我不知道它是否正確,所以我不會將此標記爲接受的答案。但它幫助了我。