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 正向排序。 可以自定制   ....................

stark组件开发之排序的更多相关文章

  1. stark组件开发之列表页面定制列

    先看一张页面展示的效果图: 看一看我的  model 表!是什么样子: 看一看数据库是什么样子: 看 页面展示图,有表头. 有数据.模型表中,每一个字段, 都指定了 verbose_name. 如何解 ...

  2. stark组件开发之列表页面应用示例

    已经解决的,自定义的扩展函数,功能.但是 不可能返回. 一个 固定的页面把!  应该是,点击那条 记录之后的编辑, 就会跳转到相应的,编辑页面.所以 这个标签的  <a href="/ ...

  3. stark组件开发之关键搜索

    - 模糊搜索: 在页面生成一个表单.  以get 方式, 将数据提交到.当前查看页面. 后台接收数据,然后进行筛选过滤. 着个也需要,用户自定制!   定义一个  search_list  这个值,默 ...

  4. stark组件开发之添加功能实现

    添加功能,还是使用, form 组件来完成!  并且 完成添加之后,需要保留原搜索条件. def memory_url(self): '''用于反向生成url, 并且携带,get请求的参数,跳转到下一 ...

  5. stark组件开发之分页

    """ 分页组件 """ class Pagination(object): def __init__(self, current_page ...

  6. stark组件开发之组合搜索页面效果和 URL

    页面效果,只是样式.这个好解决!yield 的时候. 返回几个样式出去就好了! 并且前端写上一些样式的css {% if search_group_row_list %} <div class= ...

  7. stark组件开发之组合搜索实现思路

    - 关键字搜索. 可以做到的效果是, 输入20. 后太通过 Q()  函数. 来实现.  搜索是一个大的问题点. -  要想实现组合搜索, 首先要 明确的一点是. 在我当前的页面上, 正在进行展示的是 ...

  8. stark组件开发之批量操作

    class UserInfoHandler(StartHandler): ....... # 批量操作功能的列表,添加则显示, 使用此功能.需要将StartHandler.display_checkb ...

  9. stark组件开发之编辑功能实现

    编辑功能.和添加一样! 唯一不同的就是, 需要编辑一个指定的  记录.这就需要,在列表页面, 渲染编辑的时候,添加一个 id 值: class UserInfoHandler(StartHandler ...

随机推荐

  1. 装系统时 System clock uses UTC 问题

    装系统也装了至少不下50次了,每次都是傻瓜一样的按照第一印象在弄,从未想过为啥,装到这里的时候,System clock uses UTC 勾不勾呢,每次都是百度,然后装完这一次下一次又忘了,这是没有 ...

  2. Java学习路线思维导图

  3. 【python】Numpy中stack(),hstack(),vstack()函数详解

    转自 https://blog.csdn.net/csdn15698845876/article/details/73380803 这三个函数有些相似性,都是堆叠数组,里面最难理解的应该就是stack ...

  4. git 更新远程分支列表

    git remote update origin --prune git remote update origin -p

  5. 知识点:图说 Mysql 权限管理

    图: #授权表 user #该表放行的权限,针对:所有数据,所有库下所有表,以及表下的所有字段 db #该表放行的权限,针对:某一数据库,该数据库下的所有表,以及表下的所有字段 tables_priv ...

  6. 安装ORACLE高可用RAC集群11g执行root脚本的输出信息

    安装ORACLE高可用RAC集群11g执行root脚本的输出信息 作者:Eric 微信:loveoracle11g [root@node1 ~]# /u01/app/oraInventory/orai ...

  7. Mike Piehl

    some books were writen by him: new about this man website: http://paperstreetenterprises.com

  8. centos关闭邮件提醒

    解决:you have mail in /var/spool/mail/root 提示   echo "unset MAILCHECK">> /etc/profile; ...

  9. centos7 下通过yum安装JDK

    1.查看yum库中jdk的版本 2.下载安装的jdk 3.会出现几个选择 Is this ok .   输入 y 就可以了. 4.配置环境变量    vi /etc/profile  进入编辑文本在最 ...

  10. leetcode每日刷题计划-简单篇day1

    orzorz开始刷题 争取坚持每周平均下来简单题一天能做两道题吧 非常简单的题奇奇怪怪的错误orz越不做越菜 Num 7 整数反转 Reverse Integer 刚开始多给了一个变量来回折腾占地方, ...