gpt4 book ai didi

python - 为什么即使数据库中没有对象,django paginator.num_pages 也会返回一个?

转载 作者:太空狗 更新时间:2023-10-29 22:30:45 25 4
gpt4 key购买 nike

我想为我的模型创建一个分页器,但我希望仅当我的数据库中保存有模型时才显示分页。

我在我的模板中试过

{% 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com