gpt4 book ai didi

python - Django 模板中的简单数学

转载 作者:行者123 更新时间:2023-12-01 03:57:36 25 4
gpt4 key购买 nike

我的模板中设置了一个带有分页的表格,在左下角它显示了显示的项目数量,如下所示:

enter image description here

这里 10 称为 count19 称为 total

如果我转到下一页(到目前为止,我的表格中只有 2 页数据),它会显示 显示 19 项中的 9 项

我想稍微修改一下,将其显示为显示 1 - 10 of 19,然后显示 11 - 19 of 19。从算法上看似乎相当简单。我所要做的就是初始化一个变量 start = 1,打印出信息 Showing {{start}} - {{count}} of {{total}} 。然后,当我转到下一页时 start = count +1count += count。但是我不知道如何在 django 模板中执行此操作。我尝试使用 with 标记 作为 {%with start = 1%},但它给了我一个错误 'with' 期望至少一个变量赋值

这就是所有魔法发生的地方:

{% if table.page %}
{% with table.page.paginator.count as total %}
{% with table.page.object_list|length as count %}
{% with start = 1 %}
{% block pagination %}
<ul class="pagination">
{% block pagination.cardinality %}
<li class="cardinality">
{% if total != count %}
{% blocktrans %}
Showing {{ count }} of {{ total }}
{% endblocktrans %}
{% else %}
{{ total }}
{% endif %}
{% if total == 1 %}
{{ table.data.verbose_name }}
{% else %}
{{ table.data.verbose_name_plural }}
{% endif %}
</li>
{% endblock pagination.cardinality %}
</ul>

最佳答案

你不需要为此做数学计算。 page 对象已经为您提供了相关信息:start_indexend_index

所以:

{% with table.page as page %}
Showing {{ page.start_index }} - {{ page.end_index }} of {{ page.paginator.count }}
{% endwith %}

此外,您可以使用 page.has_other_pages 来确定是否有其他页面,而不是使用复杂的逻辑将总数与当前计数进行比较。

参见the pagination docs .

关于python - Django 模板中的简单数学,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37169913/

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