Jinja 模板的 for 循环中的不同值

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

我有下面的模板,它为我提供了结果,

<input list="code" code="order" name="code">
            <datalist id="code">
                {% for col in purchase %}
                <option value="{{col[0]}}">
                {% endfor %}
            </datalist>

生成的结果有重复项,

结果

davd
davd
fdsr3243vc
fdsr3243vc
fdsr3243vc
frere
frere
frere

期望得到不同的值作为结果,

davd
fdsr3243vc
frere

尝试使用独特的选项, {购买中的百分比|独特%}

但是结果是一样的,任何建议都会有帮助

flask jinja2
1个回答
0
投票

从代码的外观来看,当您访问

purchase
列表中每个项目的索引 0 处的项目时,
purchase
似乎不仅仅是一个简单的列表或序列。
unique
可能按预期工作,只是列表中的序列
purchase
可能是全部/最独特的。

您可以使用“集合理解”并将其传递给 jinja2 模板。

@app.route("/purchase")
def purchase_list():
    purchase = # some database query
    purchase_unique = {col[0] for col in purchase}
    render_template("purchase_list.html", purchase=purchase_unique)

purhcase_list.html

<input list="code" code="order" name="code">
            <datalist id="code">
                {% for col in purchase %}
                <option value="{{ col }}">
                {% endfor %}
            </datalist>
© www.soinside.com 2019 - 2024. All rights reserved.