我需要将手动生成的表单中的一些数据传递给模板,并且需要检查那里的信息是否存在。
我正在生成我的表单(在__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 %}
答案 0 :(得分:1)
那将是
{{ field.field.widget.attrs.something }}