如何在 Django 的模板代码块中访问列表的长度?

How to access a list's length in a template's code block for Django?

在模板中,我有一个名为“participants”的列表类型变量。例如,我想检查列表的长度是否等于 2。我尝试了以下方法:

{{ participants | json_script:"participants"}}

{% if participants|length==2 %}

.....
{% endif %}

但是,这不起作用。我得到的错误是:

TemplateSyntaxError 在 /chat/lobby/ 无法解析余数:来自 'participants.count==2'

的“==2”

有人可以指出一种在模板代码块中访问列表长度的方法吗?感谢您的时间和考虑!

问题是 == 部分周围的(缺少)间距。如果您将其重写为

{% if <b>participants|length == 2</b> %}
…
{% endif %}

模板解析器将不再出错。

话虽如此,模板用于呈现逻辑,虽然很难说,但看起来这更业务 逻辑, 属于视图。