• stark组件开发之排序


    class StartHandler(object):
      ..........

       ordered_list = [] # 排序规则由 用户指定。 def get_ordered_list(self): return self.ordered_list or ["id", ] # 默认使用 id 进行排序
    per_page = 10 # 默认每页显示,多少数据。 也可在子类中,自行定制 def check_list_view(self, request):# ##################4.获取排序###################### order_list = self.get_ordered_list() # 处理 从数据库 取到的数据 # 用户访问的表 self.model_class query_set = self.model_class.objects.all().order_by(*order_list) # 计算总数量,和 表格显示内容时,都需要,就提取出来了 # ###############处理分页################# '''1.根据用户访问页面,计算出索引的位置, 比如 page=3 2. 生成html页码 ''' all_count = query_set.count() query_params = request.GET.copy() # page=1&level=2 query_params._mutable = True # request.get中的值默认是不能被修改的。加上这句代码就可以修改了 pager = Pagination( current_page=request.GET.get("page"), # 用户访问的当前叶 all_count=all_count, # 数据库一共有多少数据 base_url=request.path_info, # 所在的url 就是 ?page=1 之前的URL # 用于保留,用户的请求信息,比如 level=2 被用户先选中。 那么分页后。因为查询的东西少了,分页也应该想要的减少, # 但是level=2这个, 请求的信息!不能因为。分页的原因。而减少。 query_params=query_params, per_page=self.per_page, # 每页显示多少数据。 )

        ...............
    return render(request, "stark/changelist.html", {"header_list": header_list, "data_list": data_list, "body_list": body_list, "pager": pager, "add_btn": add_btn})

    也可以在,自己的类中指定。 排序的方式。

    class UserInfoHandler(StartHandler):
        # 自定制,展示页面, 需要展示的东西。 根据每张表的不同。 自己编写!
        list_display = [StartHandler.display_checkbox, "name", "age", "depart", get_choice_txt("班级", "classes"),
                        get_choice_txt("性别", "gender"), StartHandler.display_edit, StartHandler.display_del]
        per_page = 10  # 自定制 每页显示 多少 数据
    
        ordered_list = ["id"]  # 自定制,用于排序的字段。 默认使用 id 正向排序。 可以自定制
    
      ....................
  • 相关阅读:
    最牛B的编码套路
    查看端口号
    一个电脑 两个显示屏
    如何修改报表平台中数据决策系统登陆地址
    MTK+Android编译
    报表参数控件和报表内容自动居中设置方法
    如何把报表放到网页中显示(Web页面与报表简单集成例子)
    报表与微信公众号(企业号)集成方案
    在开发过程中调试报表插件详细教程
    电量检测芯片BQ27510使用心得
  • 原文地址:https://www.cnblogs.com/chengege/p/10742019.html
Copyright © 2020-2023  润新知