【发布时间】:2019-08-16 03:47:04
【问题描述】:
我提出了一个问题并得到了关于如何在 Django 中进行分页的快速回复(感谢 Bob!):
Change value for paginate_by on the fly
但是,如下所述,我在让每页的项目保持设置时遇到问题。
我修改了我的 ProdListView.html 模板以显示带有页码的按钮,但是,当它工作时,我得到了一个奇怪的行为。我有一个 for 循环,用于将页码作为按钮输出:
{% for i in DataPaginated.paginator.page_range %}
{% if DataPaginated.number == i %}
<button class="w3-button w3-amber">{{ i }} </button>
{% else %}
<a href="?page={{ i }}" class="w3-button">{{ i }}</a>
{% endif %}
{% endfor %}
如果分页设置为默认值 10,则可以正常工作并显示三页(有 24 个项目)。如果我将分页更改为 20,它一开始看起来是正确的并显示两页。但是,如果我点击第二页,它会将我的分页更改回 10,再次显示三页,并将我置于三页中的第二页。
为了节省空间,除了上面的片段之外,您可以在 views.py 文件和模板文件中找到我正在使用的代码,在 Bob White 的回答中:
Change value for paginate_by on the fly
我希望在表单中选择每页的任何项目保持设置,同时用户翻阅输出,直到/除非他们选择再次更改每页的项目。有什么办法可以让我的分页(每页的项目)锁定在表单选择的设置上吗?
谢谢--
阿尔
【问题讨论】:
标签: django pagination