在Django模板中检查widget属性

时间:2016-10-13 20:48:42

标签: django django-templates

我需要将手动生成的表单中的一些数据传递给模板,并且需要检查那里的信息是否存在。

我正在生成我的表单(在__init__部分中):

for i in days_in_month:
    self.fields["info_%s" % i] = forms.ChoiceField(label="%s" % i.strftime("%a %d-%m-%Y"), 
    required=False, 
    choices=Information._meta.get_field('info').choices, 
    widget=forms.Select(attrs={'something': 'test'}))

我想要做的是检查模板中是否设置了属性something,如果是,则显示其值(在上面的示例中为test)。

有什么想法吗?

我根据Access form field attributes in templated Django及以下内容尝试使用{{ field.attribute }}

{% for field in form %}
    {{ field.label_tag }} {{ field }}
    {{ field.widget.attrs.something }}
{% endfor %}

...但这不起作用(invalid)。

最终我想做类似的事情:

{% if field.widget.attrs.something %}{{ field.widget.attrs.something }}{% endif %}

1 个答案:

答案 0 :(得分:1)

那将是

{{ field.field.widget.attrs.something }}
相关问题