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

fin*_*all 5 html css jinja2 flask dropdown

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

我的路线如下:

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

    #list with 10 items is generated here



return render_template('test.html', title="test", list=list)
Run Code Online (Sandbox Code Playgroud)

我的 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 %}
Run Code Online (Sandbox Code Playgroud)

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

Bas*_*sil 6

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

<select>
    {% for x in list %}
    <option value="{{x.id}}">{{x.text}}</option>
    {% endfor %}
</select>
Run Code Online (Sandbox Code Playgroud)