从SQL表中获取AVG并在HTML中显示



我在许多论坛上查找了这个答案,但似乎没有一个能解决我的问题。我正在寻求一些帮助。

我想取SQL数据库中数字的平均值,并用HTML显示平均值。我使用的是Flask、Python、SQL和HTML

这是我的PYTHON代码:

avg_hours = db.execute("SELECT CAST(AVG(hours) AS int) FROM pain WHERE user_id = ?", user_id)

我的HTML代码:

{% for row in avg_hours %}
<h4>Average Hours: {{ row }}   </h4>
{% endfor %}

但它在html页面上显示如下:

Average Hours: {'CAST(AVG(hours) AS int)': 11}

如何让它只显示数字?我希望显示器显示

Average Hours : 11

如有任何帮助,将不胜感激

我想明白了。以下是其他可能遇到问题的人的解决方案:

Python代码:

@app.route("/")
@login_required
def index():
"""Show portfolio"""
user_id = session["user_id"]
#average of numbers in the column hours from the table pain for user
avg_hours = db.execute("SELECT AVG(hours) AS average FROM pain WHERE user_id = ?", user_id)
#i is the row in the avg_hours database
for i in avg_hours:
#create a variable for the average
average1 = i["average"]
#create new variable to convert value into an integer 
average2 = int(average1)
#render template to display value on html page
return render_template("index.html", average=average2)

简单HTML代码:

<h4>Average Hours: {{ average }}   </h4>

最新更新