python - 如何在不更改结果编号的情况下限制 Django 管理员中的分页
问题描述
我有一个 Django 管理页面,我希望限制页面数量而不更改 ChangeList 中的对象数量。
例如,我有 1000 个结果的 ChangeList,每页限制 20 个结果。我希望将分页偏移量限制为 10 页,但仍然存在我有 1000 个结果。因此,用户将能够看到计数,但无法“跳转”到“远”偏移量。
解决方案
所以在@bdoubleu的提示后,我找到了一个简单优雅的解决方案:
- 在
templates/admin/change_list.html
补充:
{% extends "admin/change_list.html" %}
{% block pagination %}{% limited_pagination cl %}{% endblock %}
- 在
templatetags/admin_list.py
(尽管我假设任何其他位置也可以)添加:
from django.contrib.admin.templatetags import admin_list
@register.inclusion_tag('admin/pagination.html', takes_context=True)
def limited_pagination(context, cl):
if somecondition:
cl.paginator._num_pages = 20
return admin_list.pagination(cl)
推荐阅读
- reactjs - React Native 搜索栏与 react-navigation
- android - Android reCAPTCHA:验证用户响应:所有函数都必须调用客户端!但是我可以使用我的后端吗?
- python - 制作大量重复子字符串时如何避免 MemoryError?
- html - 如何根据规范使背景图像响应
- ios - 无法通过 CocoaPods 构建 React Native 0.61.1
- c - 用C在闪存上写一个值
- android - android如何将海拔添加到片段
- sql - 更新声明,忽略重复值
- azure - 将增量数据从 AWS S3 复制到 Azure Data Lake Storage Gen2 失败
- git - 如何使用 git 简单地查看以前的版本而不还原或重置?