什么是django模板标记来获取结果集中返回的项目数?

Jim*_*Jim 23 django

显示对象列表中返回的项目数的标记是什么?例如,在视图/search/q=my search text here中显示与用户的搜索查询匹配的文章列表.在模板中,我想显示搜索返回的文章数.

man*_*nji 58

您可以使用模板过滤器长度:

{{ articles|length }}
Run Code Online (Sandbox Code Playgroud)

将显示文章列表的长度.

  • @Guillaume,实际上`length`只调用`len`,而Django足够聪明,如果查询集尚未被评估,那么`count(*)`.实际上,如果你打算稍后迭代它,`len`可以*更高效*,因为它可以阻止你进行两次db调用. (3认同)
  • `count` 可能会更有效,因为它不需要评估整个查询集,而是使用带有 `count(*)` 的另一个 SQL 请求。 (2认同)

Ren*_*dez 7

我认为最好的方法是:

{{ articles.count }}
Run Code Online (Sandbox Code Playgroud)