手动渲染字段和自定义css类

时间:2017-04-24 19:20:56

标签: django django-models django-forms django-templates

我正在尝试手动呈现表单字段。

我想为渲染的html添加一个bootstrap和自定义css类。

我该怎么做?

forms.py

class OrderCreateForm(forms.ModelForm):

    class Meta:
        model = Order

        fields = ['name','postal_code']
        widgets = {
            'postal_code': forms.RadioSelect(),
        }

file.html

 <form action="." method="post" class="order-form">    
 <div class="fieldWrapper">
    {{ form.postal_code }}
 </div>
 <p><input type="submit" value="Send"></p>
    {% csrf_token %}
 </form>
{% endblock %}

呈现HTML

 <div class="fieldWrapper">
    <ul id="id_postal_code">
    <li><label for="id_postal_code_0"><input type="radio" name="postal_code" value="Yes" required id="id_postal_code_0" />Yes</label></li>
    <li><label for="id_postal_code_1"><input type="radio" name="postal_code" value="No" required id="id_postal_code_1" />No</label></li>
    </ul>
 </div>

如何解决问题?

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

您可以通过以下方式将css类添加到表单字段:

    'postal_code': forms.RadioSelect(attrs={"class": "form-control"}),

另一种选择是不要以这种方式呈现表单,只需编写自己的html。