我已经创建了一个将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