我得到一個數組arr
傳遞給我的Django模板。我想訪問數組中的單個元素,例如arr[0]
,arr[1]
等,而不是遍歷整個數組。如何訪問Django模板中的數組元素?
有沒有辦法在Django模板中做到這一點?
謝謝。
我得到一個數組arr
傳遞給我的Django模板。我想訪問數組中的單個元素,例如arr[0]
,arr[1]
等,而不是遍歷整個數組。如何訪問Django模板中的數組元素?
有沒有辦法在Django模板中做到這一點?
謝謝。
您可以使用arr.0 arr.1等訪問序列元素。有關更多信息,請參閱django書籍的The Django template system chapter。
arr.0
arr.1
等
如何打印動態如前:arr.variablename – karnaf 2014-12-04 12:08:59
有沒有辦法做到這一點沒有幻數? 換句話說,「命名」.0.1.2等......? 例如array [「first name」],array [「last name」]等等。 – cyberjoac 2014-12-19 09:16:53
@cyberjoac在這種情況下使用字典。在視圖中:d = {'first_name':'foo','last_name':'bar'}。在模板{{d.first_name}}中可以正常工作。 – 2014-12-19 10:49:01
請記住,在Django模板點符號用於在Python四個不同的符號。在模板中,foo.bar
可以指任何的:
foo[bar] # dictionary lookup
foo.bar # attribute lookup
foo.bar() # method call
foo[bar] # list-index lookup
它試圖在他們的順序,直到找到一個匹配。所以foo.3
將讓你列表索引,因爲你的目標是不是3作爲一個關鍵的字典,沒有名爲3的屬性,並沒有一個名爲方法3.
** + 1 **歡呼聲,這是非常有用的。 – 2014-11-21 06:41:05
是不是第一個也是最後一個更像''foo ['bar']'? – 2016-02-10 05:18:00
似乎沒有辦法使用變量索引來訪問列表項::( – 2017-01-27 16:45:33
當你render
的請求土特產品coctext
一些信息: 爲exampel:
return render(request, 'path to template',{'username' :username , 'email'.email})
,您可以查看在它的模板是這樣的: for variabels :
{% if username %}{{ username }}{% endif %}
for array :
{% if username %}{{ username.1 }}{% endif %}
{% if username %}{{ username.2 }}{% endif %}
您還可以在views.py
命名的數組對象和十個這樣使用它:
{% if username %}{{ username.first }}{% endif %}
,如果有其他的問題,我希望能幫助你
你可以這樣訪問項目'ARR .0','arr.1',...另一種解決方案:編寫你自己的模板標籤'arr | array_item:「0」'或者類似的東西。 – rphonika 2014-07-30 18:41:44
@rphonika是的,這裏的示例:http://stackoverflow.com/a/29664945/2714931 – WeizhongTu 2015-04-16 03:43:42