【问题标题】:How to count in template (not forloop)?如何计算模板(不是for循环)?
【发布时间】:2023-03-12 17:10:01
【问题描述】:

我的模板中有 forloop,我使用 forloop.counter 但在这种情况下:

{% for item in items %}
    {% if item.name %}
        {{ forloop.counter }} - {{ item.name }}
    {% endif %}
{% endfor %}

forloop 失败。它显示:

1 - bla, bla
5 - woo, woo
...

如何只计算可见项目?

【问题讨论】:

  • 项目总是相同的类型吗?如果有,物品的类型是什么?
  • 如何标记项目的可见性/不可见性?另外,您可以让您的视图将visible_items 列表传递给模板上下文吗?

标签: django django-templates


【解决方案1】:

当遇到这个问题时,我会将“可见项目列表”传递给模板。如果出于某种原因您需要页面上的两个列表,则将两个列表都传递给模板。一个只是另一个的过滤查询集。

【讨论】:

  • 我认为这将是最好的解决方案。但是,如果出于某种原因,Nips 不想使用这个解决方案,那么编写一个(非常)简单的模板过滤器来过滤掉他不想显示的元素就可以了。
猜你喜欢
  • 1970-01-01
  • 2020-01-29
  • 2019-05-23
  • 1970-01-01
  • 2012-07-25
  • 2012-01-07
  • 1970-01-01
  • 1970-01-01
  • 2020-12-11
相关资源
最近更新 更多