在Django模板中检查小部件属性

4

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

我是这样生成我的表单的(在 __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)。
有什么想法吗?
我尝试使用{{ field.attribute }},如Access form field attributes in templated Django和以下代码:
{% for field in form %}
    {{ field.label_tag }} {{ field }}
    {{ field.widget.attrs.something }}
{% endfor %}

...但是那样行不通(无效)。

最终我想要做的事情类似于:

{% if field.widget.attrs.something %}{{ field.widget.attrs.something }}{% endif %}
1个回答

6
那将是:

{{ field.field.widget.attrs.something }}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接