Python模板forloop不能运行超过一次

时间:2018-08-02 10:09:49

标签: python templates for-loop flask

我是Python的新手,正在使用flask。我正在尝试从数据库中成功获取数据。数据将在多个地方使用,例如在不同的下拉菜单中选择,并且选项中的值将从同一索引模板中的数据库动态生成。

但是当我只在模板中运行for循环时,只有第一个循环可以工作,而其他则根本不起作用。我还检查了从数据库中检索的数据。首先循环是指让我在选择下拉列表中循环,如下所示:

Python代码:

def configure_routes(app):
@app.route('/')  # URL '/' to be handled by main() route handler
def main(name=None):
ret = class.get_data()
return render_template('index.html', name=name, data=ret)

HTML标记:

<select id="targ_xyz" class="form-control">
<option>Select Target xyz</option>
<option>
{% for rows in data %}
{{rows}}
{% endfor %}
</option>

现在此代码有效,紧挨着它的是具有相同循环的下一个select下拉列表,并且必须提取相同数据变量的结果。

<select id="targ_tech" class="form-control">
<option>Select Target tech</option>
<option>
{% for row2 in data %}
{{row2.tech}}
{% endfor %}
</option>

This is my template where i want to add the python code in select options
<div id = "tech_sep">
<select id="sel_sep_tech" class="form-control">
<option>Select Target Technology</option>
</select>
</div>
<div id = "abc_ch">
<select id = "abc_ch_sel" class="form-control">
<option>Choose Expertise</option>
</select>   
</div>
</div>
<div class="form-group col-md-3">
<div id = "targ_sep">
<select id="xyz_ch" class="form-control">
<option>Select Target</option>
</select>
</div>

此代码或该代码以下的任何循环根本不起作用。如果有人可以提供帮助,或者有人可以指导我在Python的一个html模板中使用多少个循环以及如何正确使用它们,我将不胜感激。

谢谢。

1 个答案:

答案 0 :(得分:0)

我过去做过类似的事情。您可以测试以下内容,因为您说过for循环基于相同的变量?

{% for rows in data %}
  <select id="targ_xyz" class="form-control">
  <option>Select Target xyz</option>
  <option>
    {{rows}}
  </option>

  <select id="targ_tech" class="form-control">
  <option>Select Target tech</option>
  <option>
    {{rows.tech}}
  </option>
{% endfor %}