【发布时间】:2021-06-24 06:36:28
【问题描述】:
我在quoted.html 中使用了四个参数,但是当我尝试从我的application.py 中传递它们时,出现了错误: TypeError: render_template() 接受 1 个位置参数,但给出了 4 个
@app.route("/quote", methods=["GET", "POST"])
@login_required
def quote():
"""Get stock quote."""
#Look up for the stock symbol when user requires
if request.method == "POST":
#Check the symbol is none
if lookup(request.form.get("symbol")) == None:
return apology("The company's stock is not found!", 403)
#Show the stock result including name of the company and the stock price
else:
name = lookup(request.form.get("symbol"))["name"]
symbol = lookup(request.form.get("symbol"))["symbol"]
price = usd(lookup(request.form.get("symbol"))["price"])
return render_template("/quoted", name, symbol, price)
#Display the quote interface when user requires
else:
return render_template("quote.html")
这是我的quoted.html
{% extends "layout.html" %}
{% block title %}
Quote
{% endblock %}
{% block main %}
<form action="/quoted" method="get">
<fieldset>
<div class="form-group">
<h1> A share of {{ name }} ({{ symbol }}) costs {{ price }}</h1>
</div>
</fieldset>
</form>
{% endblock %}
这是查找函数的返回
def lookup(symbol):
"""Look up quote for symbol."""
# Parse response
try:
quote = response.json()
return {
"name": quote["companyName"],
"price": float(quote["latestPrice"]),
"symbol": quote["symbol"]
}
【问题讨论】:
-
你使用什么框架来做模板和
app.route装饰器?