我仍然是Django
框架的新手,我希望我的表单页面为每个复选框使用以下HTML,而不是CheckboxSelectMultiple
使用的默认值:
<abbr title="formation.abbr">formation.label</abbr>
formation.abbr
是CharField
个实例中的Formation
属性; formation.label
是TextField
个实例中的Formation
属性; forms.py
class InternalActorForm(forms.ModelForm):
username = forms.CharField(max_length=30)
class Meta:
model = User
fields = (
'first_name',
'last_name',
'username',
'password',
'email',
'phone',
'formations'
)
widgets = {
'password': PasswordInput(),
'formations': CheckboxSelectMultiple()
}
我修改了__unicode__
方法以输出self.abbr
和self.description
,这很好。但是我更喜欢对输出进行精细控制,所以我可以使用正确的语义。
def __unicode__(self):
return u'%s (%s)' % (self.abbr, self.description)
我该怎么办?我应该调整forms.py
或views.py
吗?
答案 0 :(得分:0)
我不确定您的表单是如何描述的,因为您没有将其包含在内,但如果您想要添加单独的标签,而该表单未在您的表单中说明,那么我建议您使用周期也是:
{% for field in form %}
<abbr title="{% cycle 'abbr1' 'abbr2' 'abbr3' %}">{{ field.label_tag }}</abbr>
...