使用Jinja从列表中动态填充下拉列表

问题描述 投票:0回答:1

我有一个Flask应用程序,该应用程序从其一条路由中生成一个数据列表,然后我希望在前端的下拉菜单中显示这些数据。问题是,每个列表中将存在不同数量的项目,这些项目将填充相同的下拉菜单。例如,一个用户帐户可能有三个项目,而另一个用户帐户可能有二十个项目。

我的路线如下:

@app.route("/test", methods=['GET', 'POST'])
def test():

    #list with 10 items is generated here



return render_template('test.html', title="test", list=list)

我的HTML应该看起来像:

{% for x in list %}
<select>
<option value="tester">tester1</option>
<option value="tester2">tester2</option>
<option value="tester3">tester3</option>
<option value="tester4">tester4</option>
</select>
{% endfor %}

我传递给模板的列表中有十个项目,如第一个代码部分中的注释所示(这是动态的-下次可以是任何数字),下拉菜单中的选项数目是静态的。动态填充此下拉列表的最佳编程解决方案是什么(请不要包括涉及EXCEL或数据库的答案)?

html css flask jinja2 dropdown
1个回答
0
投票

您可以使用以下语法循环列表

<select>
    {% for x in list %}
    <option value="{{x.id}}">{{x.text}}</option>
    {% endfor %}
</select>
© www.soinside.com 2019 - 2024. All rights reserved.