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。如果确实需要这样做,可以使用支持字典查找的自定义模板过滤器。