【发布时间】:2010-10-31 12:20:00
【问题描述】:
我正在获取一个记录集,并执行一个 for 循环来显示数据,如下所示:
{% for category in categories %}
{"img":"{{ category.pr_image }}",
"url":"{{ category.pr_store_url }}",
"type":"ca",
"price":"{{ category.pr_price }}",
"store":"{{ category.pr_store }}",
"name":"{{ category.pr_name }}",
"lat":"{{ category.st_lat }}",
"long":"{{ category.st_long }}"},
{% endfor %}
效果很好。
但是,我有几行代码,但效果不太好:
{% for category in categories %}
<li class="msli">
<ul class="detali">
<li><a href="{{ category.pr_store_url }}" target="_blank">{{ category.pr_store }}</a></li>
<li>Category: {{ category.pr_cat_name }}</li>
</ul>
</li>
{% endfor %}
据我所知,它是相同的代码,只是格式不同。如果代码 1 产生一个结果,代码 2 确实产生一个输出,但没有数据。输出只有:
<li class="msli">
<ul class="detali">
<li><a target="_blank" href=""/></li>
<li>Category: </li>
</ul>
</li>
而且没有数据... 我做错了什么?
哦,两个 for 循环都包裹在 if 案例中......
{% if products or stores or categories %}
【问题讨论】:
-
请发布创建类别值的视图代码。
-
如果删除整个第一个循环,那么第二个循环是否有效?
-
原始问题中没有任何内容指出原因。视图代码中存在问题(请参阅其他评论者),或者使用“如果产品或商店或类别”(强调“或”是我的做法)导致类别模板的一部分在有的地方呈现没有“类别”。这里的问题可能是任何问题:视图代码、模板中的“几行代码”或类别模型。
-
似乎第一个循环几乎耗尽了一个迭代器,但在管道中留下了一个。哨兵?更多地了解在第二个 for 循环中呈现的神秘对象会很有趣。您可以尝试使用 {{ category|pprint }} 来梳理它的身份。但正如其他人所说,最有用的是发布有关视图和类别对象的信息。