簡體   English   中英

<sqlite3.Row對象位於0x1017fe3f0>而不是數據庫內容

[英]<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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM