【问题标题】:django: second for loop produces no elementsdjango:第二个for循环不产生任何元素
【发布时间】: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 }} 来梳理它的身份。但正如其他人所说,最有用的是发布有关视图和类别对象的信息。

标签: django for-loop recordset


【解决方案1】:

我的错,触发输出的是另一个类别,上面的代码一切正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-21
    • 2014-08-28
    • 1970-01-01
    • 2018-08-13
    • 2018-08-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多