【问题标题】:Django access the length of a list within a templateDjango 访问模板中列表的长度
【发布时间】:2012-10-19 18:49:49
【问题描述】:

简单的问题。我的模板中有一个列表,想要输出列表的长度。我是否必须在我的视图中计算它并通过我的上下文传递它?

<p>the size of the list is {{??}}</p>

{% for element in list %}
<p>element.Name</p>
{% end for %}

【问题讨论】:

标签: django templates


【解决方案1】:

使用length filter:

{{ some_list|length }}

【讨论】:

  • 这也可以用于比较。例如:` {% if some_list|length == 1 %} do something ... {% endif %}`
  • 这样还可以吗?如果 some_list[] 一个空列表。
【解决方案2】:

使用list|length| 表示您将使用过滤器。列表大小为

{{ list|length }}

【讨论】:

    【解决方案3】:
    {% if your_list %}
    {{ your_list|length }}
    {% endif %}
    

    请记住,如果 your_list 是一个属性,它将在此行触发,因此,如果您制作每次请求时都会创建的动态列表,并且您想稍后 for 将触发它两次;

    【讨论】:

      【解决方案4】:

      只是一点点更新,以防有人在这里结束。正如 cmets 中所指出的,如果您有一个 QuerySet,现在可以通过以下方式获取长度:

      {{ your_list.count }}
      

      希望对你有帮助!

      【讨论】:

      • 小心,这只适用于 QuerySet,因为它调用了它们的 count() 方法。 Python List count function 至少需要 1 个参数来知道要计算什么,因此它不会在您的模板中显示任何内容。
      • count 属性仅适用于 @Benbb96 指出的查询集。 BigRetroMike 上面指出的模板标签效果更好。
      猜你喜欢
      • 1970-01-01
      • 2015-05-11
      • 2011-05-03
      • 2018-01-17
      • 2023-03-20
      • 1970-01-01
      • 2015-08-18
      • 2022-01-12
      • 1970-01-01
      相关资源
      最近更新 更多