所以我的Jinga代码没有输出选项

2024-06-02 06:20:59 发布

您现在位置:Python中文网/ 问答频道 /正文

如果你不知道,这是cs50 pset

{% extends "layout.html" %}

{% block title %}
    Log In
{% endblock %}

{% block main %}
    <form method="post">
        <div class="form-group">
            <select class="custom-select" style="width: auto;" name="select">
                <option value="" disabled selected>Symbol</option>
                {% for stock in symbols %}
                    <option value={{ stock }}>{{ stock }}</option>
                {% endfor %}
            </select>
        </div>
        <div class="form-group">
            <input class="form-control" name="shares" placeholder="Shares" type="text">
        </div>
        <button class="btn btn-primary" type="submit">Sell</button>
    </form>
{% endblock %}

这是app.py

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

    user = db.execute("SELECT username FROM users WHERE users.id=?", session['user_id'])[0]['username']

    if request.method == "GET":
        symbols = []
        unfiltered_stocks = db.execute("SELECT symbol FROM purchases WHERE user=?", user)

        for stock in unfiltered_stocks:
            symbols.append(stock['symbol'])

        return render_template("sell.html")
<>你可以考虑股票是一个数组,而不是空的

输出仅是第一个占位符选项,仅此而已


1条回答
网友
1楼 · 发布于 2024-06-02 06:20:59

当您调用render_template()时,您可以将Python变量传递给它,从而使它们在Jinja模板中可用

return render_template("sell.html")更改为return render_template("sell.html", symbols=symbols)

相关问题 更多 >