我正在使用
渲染我的表单{{ form.as_p }}
在我的模板中。
但是我想让一些“p”添加一些类(不是全部),所以我可以通过css在我的字段之间进行某种分组。
你会怎么做?
谢谢!
答案 0 :(得分:2)
如果您想要远远超出Django为as_p
提供的任何内容,您应该自己指定字段。你可以获得更多的控制而不必黑客攻击。像display_field这样的简单模板标记只允许您使用单个标记指定每个字段,标签和错误。然后,您可以使用适用于此的HTML元素自行对字段进行分组:字段集。
<fieldset class="my_fieldset">
{% display_field form.field1 %}
{% display_field form.field2 %}
</fieldset>
答案 1 :(得分:2)
指定窗口小部件并使用您需要的类对其进行初始化。像这样:
name = forms.CharField(widget=forms.TextInput(attrs={'class':'special'}))
Django documunation在这里:http://docs.djangoproject.com/en/1.3/ref/forms/widgets/#django.forms.Widget.attrs
修改:
表格最好使用字段集进行结构化。不幸的是,django目前不支持他们。目前的状态总结如下:Django and fieldsets on ModelForm
答案 2 :(得分:0)
创建自定义模板标记以根据需要呈现表单。
答案 3 :(得分:0)
请检查此问题以获取一些想法:Django Forms Template design classes
您可以将建议的方法与:nth-child-selector结合使用,以匹配您想要的段落。
根据表单的复杂程度,我会考虑render the form manually。