gpt4 book ai didi

python - 如何在 django 模板中设置页面范围的索引

转载 作者:行者123 更新时间:2023-11-30 23:17:57 26 4
gpt4 key购买 nike

我有以下 for 循环来迭代我的分页对象:

{% for x in my_paginator.paginator.page_range %}
<a href="?{% if query %}q={{ query }}&amp;{% endif %}page={{ x }}"><u>{{ x }}</u></a>

{% endfor %}

我想切出小于当前页面的 4 个索引和大于当前页面的 4 个值。

我可以这样获取当前页面:{{ my_paginator.number }}

如果页码是“61”,输出如下内容,如何获得可以使用 {{ x }} 打印的范围:

57 58 59 60 61 62 63 64 65

最佳答案

您可以从 View 中渲染最小和最大限制:

paginator = Paginator(yourqueryset, request.GET.get('show'))
if request.GET.get('page'):
try:
results = paginator.page(request.GET.get('page'))
except PageNotAnInteger:
results = paginator.page(1)
except EmptyPage:
results = paginator.page(paginator.num_pages)
else:
results = paginator.page(1)
min = all.number - 4
max = all.number + 4
return render(request, 'template.html', {'results':results,'min':min,'max':max})

然后在模板中:

{% for page in results.paginator.page_range %}
{% if page < max and page > min and page != results.number %}
<a class="page">{{page}}</a>
{% elif page == results.number %}
<a>{{page}}</a>
{% endif %}
{% endfor %}

然后你会得到类似的东西:

57 58 59 60 61 62 63 64 65

关于python - 如何在 django 模板中设置页面范围的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27049100/

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