Django 模板:是否可以读取表单的字段属性?
Django templating: is it possible to read field attributes of a form?
这是我的表格:
class ProfileForm(FormForceLocalizedDateFields):
class Meta:
model = Personne
fields = ('sex', )
exclude = ('user',)
e = {'required': _(u'This field is required'),
'invalid': _(u'This field contains invalid data')}
a = _(u'Sexe:')
sexe = forms.CharField(
label=a, max_length=1,
widget=forms.Select(attrs={
'title': a,
'data-row': 1,
'class': 'form-control'},
choices=[(k, Personne.TAB_SEXE[k]) for k in Personne.TAB_SEXE]),
error_messages=e)
如果你仔细阅读,你会注意到我的自定义属性 'data-row': 1,
这是我想在我的模板中做的事情:
{% for field in form %}
{% if field.attr("data-row")==1 %}
Blabla
{% endif %}
{% endfor %}
你会怎么做?
如果你使用属性名称 datarow
那么你可以做类似
{% if field.field.widget.attrs.datarow == 0 %}
但是,由于有连字符,您不能使用属性 data-row
。如果确实需要这样做,可以使用支持字典查找的自定义模板过滤器。
这是我的表格:
class ProfileForm(FormForceLocalizedDateFields):
class Meta:
model = Personne
fields = ('sex', )
exclude = ('user',)
e = {'required': _(u'This field is required'),
'invalid': _(u'This field contains invalid data')}
a = _(u'Sexe:')
sexe = forms.CharField(
label=a, max_length=1,
widget=forms.Select(attrs={
'title': a,
'data-row': 1,
'class': 'form-control'},
choices=[(k, Personne.TAB_SEXE[k]) for k in Personne.TAB_SEXE]),
error_messages=e)
如果你仔细阅读,你会注意到我的自定义属性 'data-row': 1,
这是我想在我的模板中做的事情:
{% for field in form %}
{% if field.attr("data-row")==1 %}
Blabla
{% endif %}
{% endfor %}
你会怎么做?
如果你使用属性名称 datarow
那么你可以做类似
{% if field.field.widget.attrs.datarow == 0 %}
但是,由于有连字符,您不能使用属性 data-row
。如果确实需要这样做,可以使用支持字典查找的自定义模板过滤器。