我在 Django 問題上有點卡住了,我無法在 for 循環中訪問 dict 的值。它在 for 循環之外工作,而不是在內部。我在這里錯過了明顯的東西嗎?Python:err{}err['else'] = {'class': 'Low', 'txt': 'zero'}err['if'] = {'class': 'High', 'txt': 'one'}data = { 'errors': err }return render(request, 'index/error.html', data)HTML模板:<p>{{ errors }}</p><p>{{ errors.if }}</p><p>{{ errors.if.class }}</p>{% for error in errors %} <div class="{{ error.class }}"><p>{{ error.txt }}</p></div>{% endfor %}上面 3 行用于代碼調試,工作正常。for 循環不產生任何代碼。最好的問候,LVX
3 回答

開心每一天1111
TA貢獻1836條經驗 獲得超13個贊
你可能需要訪問.items()的dict,你叫errors。只是迭代 adict給你鍵,而不是值。
您可以將代碼更改為:
{% for k, v in errors.items %}
<div class="{{ v.class }}"><p>{{ v.txt }}</p></div>
{% endfor %}
當然,如果您不需要鍵(if和else),那么您也可以使用.values()而不是items()僅獲取dict.

慕婉清6462132
TA貢獻1804條經驗 獲得超2個贊
你應該像這樣嘗試 - error['class']
第二種方式 - error[key]['class']
使用 forloop - for k,v in errors: print(v['class'])
添加回答
舉報
0/150
提交
取消