我目前正在使用Pythons Flask構建小型管理器(學習python),它使用Jinja2模板引擎。我正在使用Peewee與我的數據庫進行交談。訪問字典的值
我有一個引腳字典,其中包含所有引腳上的信息。引腳上的信息直接來自Peewee,就像這樣:
pins = {}
pins[3] = Pin.get(Pin.id == 3)
pins[5] = Pin.get(Pin.id == 5)
pins[7] = Pin.get(Pin.id == 7)
pins[8] = Pin.get(Pin.id == 8)
(使用這四個僅作爲示例)
在我的模板,我遍歷,這四個引腳,想顯示我的DB信息(例如描述,狀態和id),所以我寫了這個代碼:
{% for pin in pins %}
{% if pin.state %}
<input type="checkbox" checked="checked" data-toggle="toggle" data-pin="{{ pin.id }}">
{% else %}
<input type="checkbox" data-toggle="toggle" data-pin="{{ pin.id }}" ?>
{% endif %}
{{ pin.description }}
<br>
{% endfor %}
按照jinja2 website和this question的代碼應該工作,因爲我訪問pin.state,pin.id和pin.description循環內。
但它沒有 - 無論我嘗試顯示哪個屬性,只是在使用{{ pin.description }}
來訪問該屬性時,它並沒有提供任何內容。我注意到以下,這可能會給一些幫助
- 如果我做一個
{{ pin }}
它打印的 字典當前關鍵的循環中。 - 如果我在循環內部輸入
{{ pins[pin].description }}
,它將打印 正確的描述。
根據我對文檔和鏈接問題的理解,應該可以使用循環內部的{{ pin.description }}
來顯示當前值。
任何人都可以闡明我的錯誤是什麼?
這樣做 - 非常感謝! –
你也可以做''pins = Pin.select()。其中(Pin.id << [3,5,7,8])''得到具有給定ID的引腳列表。 – coleifer