我正在關注這個視頻,一切都運行良好。SQL 查詢的輸出保存在一個變數中,我可以在另一個 .html 頁面中呼叫該變數。
所以我的sql查詢是:
@app.route('/all_data')
def all_data():
customers = db.get_customers()
for customer in customers:
var = customers
return render_template('all_data.html',var=var)
在 all_data.html 頁面中呼叫此 {{var}} 時,輸出是一個長元組:
('name','email','comment','gender'),('name','email','comment','gender') etc etc
我想把這個 {{var}} 放到一張桌子上?.. 但我在尋找如何做到這一點時遇到了障礙?
任何幫助將非常感激!
uj5u.com熱心網友回復:
假設您使用的是 Flask 的默認模板引擎 (Jinja2),您可以簡單地使用 for 回圈來迭代模板內集合的元素。語法是:
{% for item in items %}
{{ item }}
{% endfor %}
var因此,只需創建一個 HTML 表,并為變數中的每個專案添加一行。IIRC,Jinja 元組的行為與 Python 相同,因此您可能可以執行以下操作:
<table>
<thead>
<tr>
<th>Name</th>
<th>Email</th>
<th>Comment</th>
<th>Gender</th>
</tr>
</thead>
<tbody>
{% for current in var %}
<tr>
<td>{{ current[0] }}</td>
<td>{{ current[1] }}</td>
<td>{{ current[2] }}</td>
<td>{{ current[3] }}</td>
</tr>
{% endfor %}
</tbody>
</table>
我沒有檢查它(因為我現在沒有可用的 Flask 專案),但如果我沒記錯的話,我會這樣做
這是 Jinja2 檔案有用部分的鏈接
另外,這段代碼是干什么用的?
for customer in customers: var = customers
您正在迭代串列的每個元素,但您從不使用customer變數(包含當前元素)。相反,您將var變數分配給customers串列多次。假設customers是一個簡單的 Python 串列,您可以洗掉此回圈并簡單地執行return render_template('all_data.html',var=customers)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/478372.html
下一篇:字典名稱未定義通過控制臺訪問
