Python Django模板中的简单数学

Python Django模板中的简单数学,python,django,Python,Django,我的模板中有一个带有分页的表格设置,在左下方显示了显示的项目数,如下所示: 这里的10称为count,19称为total 如果我转到下一页(到目前为止,我的表中只有2页的数据),它会显示,显示19项中的9项 我想稍微修改一下,将其显示为显示19个中的1-10个,然后显示19个中的11-19个。从算法上看,这似乎很简单。我所要做的就是初始化一个变量start=1,将信息打印为显示{{start}}-{count}{{total}。然后,当我转到下一页时,start=count+1和count+=

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

这里的
10
称为
count
19
称为
total

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

我想稍微修改一下,将其显示为
显示19个中的1-10个
,然后
显示19个中的11-19个
。从算法上看,这似乎很简单。我所要做的就是初始化一个变量
start=1
,将信息打印为
显示{{start}}-{count}{{total}
。然后,当我转到下一页时,
start=count+1
count+=count
。但是,我不知道如何在
django模板中执行此操作。我尝试将带有标记的
用作{%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>
{%if table.page%}
{%与table.page.paginator.count合计%}
{带table.page.object的%u列表|长度为count%}
{1%,起始值为1%}
{%块分页%}
    {%block pagination.cardinality%}
  • {%if总数!=count%} {%blocktrans%} 显示{{total}的{{count}} {%endblocktrans%} {%else%} {{total}} {%endif%} {如果总数=1%,则为%1} {{table.data.verbose_name} {%else%} {{table.data.verbose_name_复数} {%endif%}
  • {%endblock分页.基数%}

你不需要为此做数学题。
页面
对象已经提供了相关信息:
开始索引
结束索引

因此:

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


看。

该死,太棒了!。工作得很有魅力。而且分页文档在很多方面都有帮助。
{% with table.page as page %}
Showing {{ page.start_index }} - {{ page.end_index }} of {{ page.paginator.count }}
{% endwith %}