2010-01-28 69 views
1

我已经创建了一个将yaml文档加载到python列表中的templatetag。在我的模板中,我有{% get_content_set %},这会转储原始列表数据。我希望能够做的是一样的东西如何从django templatetag访问python列表?

{% for items in get_content_list %} 
     <h2>{{items.title}}</h2> 
{% endfor %}` 
+2

为什么你正在尝试在这里使用模板标签?如果视图可以为标签创建正确的上下文,那么它可以创建一个带有列表的上下文作为正常处理的变量 – 2010-01-28 20:26:25

回答

-1

由于编写复杂templatetags不是一件容易的事(当然,虽然记录)我想借此{%和%}标签源并适应它满足我的需要,所以它看起来像

{% get_content_list as content % 
{% for items in content %} 
     <h2>{{items.title}}</h2> 
{% endfor %}` 
+0

准确地说我是如何运作的!谢谢! – starsurch 2010-01-28 23:03:18

3

如果该列表是一个Python变量X,然后将其添加到模板上下文context['X'] = X,然后你可以做

{% for items in X %} 
     {{ items.title }} 
{% endfor %} 

模板标记旨在呈现输出,因此不会提供可供您使用的迭代列表。但是你不需要这样做,因为正常的上下文+ for循环很好。

+0

同意。模板标签是这项工作的错误工具。 – jcdyer 2010-01-28 20:52:32