我已經創建了一個將yaml文檔加載到python列表中的templatetag。在我的模板中,我有{% get_content_set %}
,這會轉儲原始列表數據。我希望能夠做的是一樣的東西如何從django templatetag訪問python列表?
{% for items in get_content_list %}
<h2>{{items.title}}</h2>
{% endfor %}`
我已經創建了一個將yaml文檔加載到python列表中的templatetag。在我的模板中,我有{% get_content_set %}
,這會轉儲原始列表數據。我希望能夠做的是一樣的東西如何從django templatetag訪問python列表?
{% for items in get_content_list %}
<h2>{{items.title}}</h2>
{% endfor %}`
由於編寫複雜templatetags不是一件容易的事(當然,雖然記錄)我想借此{%和%}標籤源並適應它滿足我的需要,所以它看起來像
{% get_content_list as content %
{% for items in content %}
<h2>{{items.title}}</h2>
{% endfor %}`
準確地說我是如何運作的!謝謝! – starsurch 2010-01-28 23:03:18
如果該列表是一個Python變量X,然後將其添加到模板上下文context['X'] = X
,然後你可以做
{% for items in X %}
{{ items.title }}
{% endfor %}
模板標記旨在呈現輸出,因此不會提供可供您使用的迭代列表。但是你不需要這樣做,因爲正常的上下文+ for循環很好。
同意。模板標籤是這項工作的錯誤工具。 – jcdyer 2010-01-28 20:52:32
爲什麼你正在嘗試在這裏使用模板標籤?如果視圖可以爲標籤創建正確的上下文,那麼它可以創建一個帶有列表的上下文作爲正常處理的變量 – 2010-01-28 20:26:25