作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想为我的模型创建一个分页器,但我希望仅当我的数据库中保存有模型时才显示分页。
我在我的模板中试过
{% if page.paginator.num_pages != 0 %}
#show pagination ul
{%endif%}
但是没用。显然,分页器对象在创建时总是只有一页,即使对象列表中没有任何对象。我不得不使用 object_list.count() 方法解决这个问题
{% if page.object_list.count != 0 %}
#show pagination ul
{% endif %}
我还没有足够的数据来测试它,但这是正确的方法吗?还有其他更好的吗?
最佳答案
如果分页器是用 allow_empty_page=True
实例化的,那么即使没有对象,它也会有一页。查看paginator docs了解更多信息。
如果你想在对象列表中至少有一个对象时显示分页器,那么使用:
{% if page.object_list.count %}
#show pagination ul
{% endif %}
如果您只想在多页时显示分页器,请使用:
{% if page.paginator.num_pages > 1 %}
#show pagination ul
{%endif%}
关于python - 为什么即使数据库中没有对象,django paginator.num_pages 也会返回一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19928212/
我想为我的模型创建一个分页器,但我希望仅当我的数据库中保存有模型时才显示分页。 我在我的模板中试过 {% if page.paginator.num_pages != 0 %} #show p
我是一名优秀的程序员,十分优秀!