gpt4 book ai didi

python - 如何为基于类的 View 创建分页器?

转载 作者:太空宇宙 更新时间:2023-11-03 18:31:12 24 4
gpt4 key购买 nike

我的 Web 应用程序有一个要求,那就是创建按姓氏分页的员工 ListView。

要列出的类如下:

class Person(models.Model):
first_name = models.CharField(blank=True)
last_name = models.CharField(blank=True)
# etc.

我还有一个带有 Mixin 的 ListView:

class PersonMixin(object):
def get_queryset(self):
return Person.objects.order_by('last_name', 'first_name')


class PersonListView(PersonMixin, ListView):
paginate_by = settings.ARCHIVE_PAGE_SIZE
template_name = 'profile_list.html'
paginator_class = FamilyNamePaginator

最后,我重写了 Paginator 类。

class FamilyNamePaginator(Paginator):
def page(self, number):
page = super(FamilyNamePaginator, self).page(number)
return page

但显然,目前的行为还太基础。例如,我需要将“第 1 页(共 6 页)”替换为“A ... M P Z”,即姓氏首字母。我没有找到任何说明如何自定义 Paginator 类的文档,任何人都可以指出我应该从哪里开始挖掘吗?

提前致谢:-)

最佳答案

正如 @daniel-roseman 在他的评论中所说,这不是分页。相反,尝试创建一个带有随附 URL 的 AlphabetPersonView,然后创建一个模板标记,该模板标记将插入到该导航元素需要到达的任何位置。

关于python - 如何为基于类的 View 创建分页器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22354459/

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