【发布时间】:2011-11-10 10:02:28
【问题描述】:
在我的 views.py 中,我获得了 5 个字典,它们都类似于 {date:value} 所有 5 个字典具有相同的长度,在我的模板中,我想根据这些字典获取一些 url,公共字段是日期 - 就像您在基于公共列连接 5 个表时在 sql 查询中所做的那样
在 python 中你会做这样的事情:
for key, value in loc.items():
print key, loc[key], ctg[key], sctg[key], title[key], id[key]
但在 django 模板中,我能想到的只是:
{% for lock, locv in loc.items %}
{% for ctgk, ctgv in ctg.items %}
{% for subctgk, subctgv in subctg.items %}
{% for titlek, titlev in titlu.items %}
{% for idk, idv in id.items %}
{% ifequal lock ctgk %}
{% ifequal ctgk subctgk %}
{% ifequal subctgk titlek %}
{% ifequal titlek idk %}
<br />{{ lock|date:"d b H:i" }} - {{ locv }} - {{ ctgv }} - {{ subctgv }} - {{ titlev }} - {{idv }}
.... {% endifequals & endfors %}
这当然是丑陋的,需要很多时间来渲染
现在我正在考虑构建一个自定义标签,但我想知道你们是否对此主题有任何反馈?
【问题讨论】:
-
使用自定义标签对我来说似乎更好。也许 Jinja2 可以帮助你,但我不确定......
-
我创建了一个自定义标签,它执行 dict.get(key),这正是我在模板中需要的!
标签: django templates for-loop nested