[英]<sqlite3.Row object at 0x1017fe3f0> instead of database contents
我的模板是這樣的:
{% for order in orders %}
<li><h2>{{ order}}</h2>
{% endfor %}
我的路由功能是這樣的:
@app.route('/order_history')
def orderhistory():
db = get_db()
cur = db.execute('select * from order_items')
orders = cur.fetchall()
return render_template('order_history.html', orders = orders)
知道為什么我得到行對象位置而不是db內容嗎?
您需要從行中獲取數據:
{% for order in orders %}
<li><h2>{{ order[0] }}</h2></li>
{% endfor %}
SQL查詢始終返回包含列的行中的數據。 以上假設您的SELECT
每行只返回一列。
如果您有多個列,則必須使用直接索引( order[1]
, order[3]
等)來解決這些問題,或者在行上循環以顯示列:
{% for order in orders %}
<li><h2>{{ order[0] }}</h2>
{% for column in order %}
{% if not loop.first %}{{ column }}<br />{% endif %}
{% endfor %}
</li>
{% endfor %}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.