【发布时间】:2018-11-29 15:47:11
【问题描述】:
我将FlightNo、Terminal 和Status 保存到 MongoDB 中。我想创建一个更新页面,以便可以更新值。如何在 WTForm 字段中传递数据库中的现有值?
app.py:
# Document just for your info!
Document = { "_id" : ObjectId("5bfffb603129d742ac94b990"), "flightno" : "LH-100", "terminal" : "A1", "status" : "Inbound" }
@app.route("/update/<id>"):
def update(id):
currFlight = db.find_one({"flightno": id})
form = FlightForm()
if request.method == "POST":
f = session["flightno"] = form.flightno.data
t = session["terminal"] = form.terminal.data
s = session["status"] = form.status.data
query = {"flightno": f}
update = {"$set": {"flightno": f, "terminal": t, "status": s}}
db.update(query, update)
return redirect(url_for("index"))
return render_template("update.html", currFlight=currFlight)
update.html:
<form method="POST">
{{form.hidden_tag()}}
{{form.flightno.label}} {{form.flightno}} <br>
{{form.terminal.label}} {{form.terminal}} <br>
{{form.status.label}} {{form.status}} <br>
{{form.submit()}}
</form>
如何将currFlight 中的值传递到表单中,以便字段已经填充了currFlight 中的值?
我试过value="",虽然它只适用于StringField。 Terminal 和 Status 是 SelectFields,所以它不起作用。
【问题讨论】: