Django:添加结果数量

R0b*_*n1k 2 django views

我正在显示搜索结果的数量,但是,我会进行多次搜索.所以要显示我必须添加它们的结果数量.所以我试过这个:

<p>Found {{ products|length + categories|length + companies|length }} results.</p>
Run Code Online (Sandbox Code Playgroud)

但我得到一个错误.我该怎么做呢?

msa*_*ers 5

Django模板不支持算术运算符.但是,您可以使用添加过滤器.我想你需要这样的东西:

<p>Found {{ products|length|add:categories|length|add:companies|length }} results.</p>
Run Code Online (Sandbox Code Playgroud)

或者,您应该在视图中计算总​​数并将其预先计算传递给模板.

编辑:继续评论,这个版本应该工作:

{% with categories|length as catlen %}
{% with companies|length as complen %}   
<p>Found {{ products|length|add:catlen|add:complen }} results.</p>
{% endwith %}
{% endwith %}
Run Code Online (Sandbox Code Playgroud)

然而,这感觉非常hacky并且最好在视图中计算图形.