(WAGTAIL) 如何在Wagtail管理区的模型列表中添加每页项目的按钮或类似功能?

0 投票
1 回答
26 浏览
提问于 2025-04-14 16:32

我想在Wagtail的管理界面中为每一页添加一个选择显示项目数量的按钮,但在文档中没找到相关的信息。有没有办法自定义并创建一个按钮,让我可以选择每页显示多少个项目?在这里输入图片描述

1 个回答

0

我不太确定这个按钮的具体情况,但你可以在视图集里设置每页显示的项目数量,作为一个类属性。

class SomeViewSet(SnippetViewSet):
    model = SomeModel
    list_per_page = 50
    ....

这个设置会在ModelViewSet中被使用:

def get_index_view_kwargs(self, **kwargs):
    return {
        ....
        "paginate_by": self.list_per_page,
        ....
    }

@property
def index_view(self):
    return self.construct_view(
        self.index_view_class, **self.get_index_view_kwargs()
    )

@property
def index_results_view(self):
    return self.construct_view(
        self.index_view_class, **self.get_index_view_kwargs(), results_only=True
    )

我想你可能需要写一些自定义的索引和索引结果模板:

https://docs.wagtail.org/en/stable/extending/generic_views.html#modelviewset-templates

这个钩子对你也可能有帮助:

https://docs.wagtail.org/en/stable/reference/hooks.html#register-snippet-listing-buttons

撰写回答