如何从 django templatetag 访问 python 列表?
我创建了一个 templatetag,将 yaml 文档加载到 python 列表中。在我的模板中,我有 {% get_content_set %}
,这会转储原始列表数据。我想要做的是类似的事情
{% for items in get_content_list %}
<h2>{{items.title}}</h2>
{% endfor %}`
I have created a templatetag that loads a yaml document into a python list. In my template I have {% get_content_set %}
, this dumps the raw list data. What I want to be able to do is something like
{% for items in get_content_list %}
<h2>{{items.title}}</h2>
{% endfor %}`
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果列表位于 python 变量 X 中,则将其添加到模板上下文
context['X'] = X
中,然后您可以执行模板标记旨在渲染输出,因此不会提供一个可迭代列表供您使用。但你不需要它,因为正常的上下文 + for 循环就可以了。
If the list is in a python variable X, then add it to the template context
context['X'] = X
and then you can doA template tag is designed to render output, so won't provide an iterable list for you to use. But you don't need that as the normal context + for loop are fine.
由于编写复杂的模板标签并不是一件容易的事(虽然有详细的文档记录),我会采用 {% with %} 标签源并根据我的需要进行调整,所以它看起来像
Since writing complex templatetags is not an easy task (well documented though) i would take {% with %} tag source and adapt it for my needs, so it looks like