Python Jinja2模板-用于循环
没有找到另一篇有类似问题的帖子,我正在尝试使用flask和wtforms生成一些复选框,目前我已经得到了这段代码:Python Jinja2模板-用于循环,python,templates,jinja2,Python,Templates,Jinja2,没有找到另一篇有类似问题的帖子,我正在尝试使用flask和wtforms生成一些复选框,目前我已经得到了这段代码: <div class="control-group"> <p><strong>Check the enabled BRI Ports</strong></p> <label class="checkbox inline"> {{ form.bri1(value=1) }} {{
<div class="control-group">
<p><strong>Check the enabled BRI Ports</strong></p>
<label class="checkbox inline">
{{ form.bri1(value=1) }} {{ form.bri1.label }}
</label>
<label class="checkbox inline">
{{ form.bri2(value=1) }} {{ form.bri2.label }}
</label>
<label class="checkbox inline">
{{ form.bri3(value=1) }} {{ form.bri3.label }}
</label>
<label class="checkbox inline">
{{ form.bri4(value=1) }} {{ form.bri4.label }}
</label>
</div>
检查已启用的BRI端口
{{form.bri1(value=1)}{{{form.bri1.label}}
{{form.bri2(value=1)}{{{form.bri2.label}
{form.bri3(value=1)}{{form.bri3.label}
{form.bri4(value=1)}{{form.bri4.label}
到目前为止,这是可行的,但现在我尝试使用一个简单的for循环来实现这一点,如:
<div class="control-group">
<p><strong>Check the enabled BRI Ports</strong></p>
{% for n in range(1,6) %}
<label class="checkbox inline">
{{ form.brin.label }}
{% endfor %}
</div>
检查已启用的BRI端口
{n在(1,6)%范围内的百分比}
{{form.brin.label}
{%endfor%}
我尝试了(),{}和{{}。。。这可能吗?试试:
<div class="control-group">
<p><strong>Check the enabled BRI Ports</strong></p>
{% for name, field in form._fields.items() %}
{% if name != 'csrf_token' %}
<label class="checkbox inline">
{{ field(value=1) }} {{ field.label }}
</label>
{% endif %}
{% endfor %}
</div>
在这里,您还可以使用
n.\uu str\uuu()
代替过滤器n | string
这不是关于Flask的问题,因为Flask不包括模板引擎。想必你是在问金甲2号?对不起,我的错,你完全正确。@Killathy所以问题是“射程”?有帮助吗?我尝试了两种方法,第二种方法给出了错误“TypeError:无法连接'str'和'int'对象”。第一个部分工作,但它给了我所有的领域,我只想要布尔菲尔德布里1-4。。。知道吗?对不起,我更新了第二个例子。首先,您可以添加自己的条件:{%if name.startswith('bri')%}
。
<div class="control-group">
<p><strong>Check the enabled BRI Ports</strong></p>
{% for n in range(1,6) %}
{% if form['bri' + n|string] %}
<label class="checkbox inline">
{{ form['bri' + n|string](value=1) }} {{ form['bri' + n|string].label }}
</label>
{% endif %}
{% endfor %}
</div>