This is a cs50 pset if you didn’t know.
{% 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 %}
Here is the 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")
You can consider that stocks is an array and its not empty
The Output is just the first placeholder option and nothing more
Advertisement
Answer
When you call render_template()
, you can pass Python variables to it which makes them available in your Jinja template.
Change return render_template("sell.html")
to return render_template("sell.html", symbols=symbols)