【发布时间】:2011-08-29 11:05:51
【问题描述】:
我正在使用
呈现我的表单{{ form.as_p }}
在我的模板中。
但是我想让一些“p”添加一些类(不是全部),所以我可以在我的字段之间进行某种分组,这要归功于 css。
你会怎么做?
谢谢!
【问题讨论】:
标签: django django-forms
我正在使用
呈现我的表单{{ form.as_p }}
在我的模板中。
但是我想让一些“p”添加一些类(不是全部),所以我可以在我的字段之间进行某种分组,这要归功于 css。
你会怎么做?
谢谢!
【问题讨论】:
标签: django django-forms
如果您想要任何超出 Django 为您提供的as_p 之外的东西,您应该自己指定字段。您将获得更多控制权,而无需四处乱窜。像display_field 这样的简单模板标签将允许您使用单个标签指定每个字段、其标签和错误。然后,您可以使用相应的 HTML 元素自己对字段进行分组:字段集。
<fieldset class="my_fieldset">
{% display_field form.field1 %}
{% display_field form.field2 %}
</fieldset>
【讨论】:
指定小部件并使用您需要的类对其进行初始化。像这样:
name = forms.CharField(widget=forms.TextInput(attrs={'class':'special'}))
Django 文档在这里:http://docs.djangoproject.com/en/1.3/ref/forms/widgets/#django.forms.Widget.attrs
编辑:
表单最好使用字段集进行结构化。不幸的是,django 目前不“支持”它们。当前状态最好总结在这里:Django and fieldsets on ModelForm
【讨论】:
创建自定义模板标签以根据需要呈现表单。
【讨论】:
检查这个问题以获得一些想法:Django Forms Template design classes
您可以将建议的方法与:nth-child-selector 结合起来以匹配您想要的段落。
根据您表单的复杂程度,我会考虑使用render the form manually。
【讨论】: