【发布时间】:2020-11-30 02:05:06
【问题描述】:
这段代码使用我的数据库中的值呈现一个 html 模板
displayrows = db.execute("SELECT * FROM profiles WHERE profile_id = :profile_id", (session["user_id"],))
displayrows = db.fetchall()
displaycount = db.execute("SELECT COUNT(*) FROM bucketlist WHERE wish_id = :wish_id", (session["user_id"],))
for i in displayrows:
bytes_io = BytesIO(i[5])
for i in displaycount:
return render_template("profile.html", rows = displayrows, count = i[0], image = bytes_io)
这是呈现值的 html 页面的一部分...
<div class="card bg-dark" style="width: 18rem;">
<p class="list-group-item">BucketList Size - {{ count }}</p>
{%for row in rows%}
<ul class="list-group list-group-flush">
<li class="list-group-item">Location - {{ row[1] }}, {{row[2]}}</li>
<li class="list-group-item">Looking for - {{row[3] }}</li>
<li class="list-group-item">Bio - {{row[4]}}</li>
</ul>
{%endfor%}
<img src="{{image}}" />
</div>
我对 python、flask 和一般编码都很陌生,所以如果有人花时间解释我如何成功地在 html 页面上显示来自 blob 列的数据,我将不胜感激。提前致谢
【问题讨论】:
-
我会跳过尝试对它进行 b64 编码,而是根据提供的 ID 设置一个单独的端点来提供单个图像。我answered a similar question here。如果这对您没有帮助,请包括您如何计算
displayrows(即 SQL 查询),我可以根据您的代码编写一个定制的答案。 -
感谢您的回复,我删除了 PIL 代码并在链接中实现了您的解决方案,我还向我的模板传递了一个变量,但是它返回字节对象的地址,如
<_io.BytesIO object at 0x1071a83b0>,我不明白