启动只保留「每页 shell 都要」的全局数据:商品/项目(侧栏+导航)、余额(顶栏)、 模型配置(多生成页+pipeline 共用)、未读数(侧栏徽标,page_size=1 轻量)。其余移到各页按需: - 账户页:流水(本就服务端分页)+ 趋势 + 团队成员 本页自取,充值后刷新。 - 团队页:成员 + 团队动态 本页自取,增删成员/充值后刷新。 - 生图工厂:任务历史 + 任务缩略图本页自取。 - 通知:bootstrap 只取 page_size=1 拿未读数(notificationsBadge),列表由消息中心/团队页各自拉。 - 全局默认分页改 DefaultPagination(支持 ?page_size 覆盖,默认 20 上限 200): 根治 projects/products 等列表端点忽略 page_size、数据过 20 即被迫翻页(同 assets 旧病)。 闸:9 页功能正常、无瀑布、API 检查全过;首屏接口数 5~8(原 8~13)。perf 预算下调到新基线。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
10 lines
384 B
Python
10 lines
384 B
Python
from rest_framework.pagination import PageNumberPagination
|
|
|
|
|
|
class DefaultPagination(PageNumberPagination):
|
|
"""全局默认分页:默认 20 条/页,允许前端用 ?page_size= 覆盖(上限 200)。
|
|
各列表端点据此可按需懒加载/取大页,不再因默认类忽略 page_size 而被迫并行翻页。"""
|
|
|
|
page_size_query_param = "page_size"
|
|
max_page_size = 200
|