对应github地址:列表分页和按条件筛选

 
 
一. 列表分页
 
1. pip install django-pure-pagination
 
2. settings.py中
install app中添加'pure_pagination',
设置参数
PAGE_RANGE_DISPLAYED:总共会显示多少个page,包括省略号,包括两边和中间。下面例子中从1到100的话,这里要设为100
MARGIN_PAGES_DISPLAYED:旁边会显示多少个。
SHOW_FIRST_PAGE_WHEN_INVALID:当输入页数不合法是否要跳到第一页
 
 
 
 
3. 修改org-list.html中机构for模板标签,把all_orgs改为all_orgs.object_list
 
 
4. 修改organization/views.py如下
 
 
5. 在org-list.html中自定义分页样式
 
 
 
 
 
二. 分类筛选功能
 
 
1. 修改org-list.html中的城市代码,当用户点击某一个city时对应加上参数city的id
 
2. 后台处理这个city,在organiztion/views.py-> class OrgView添加
 
return中添加city_id
 
 
3. 当选择某一个城市进行筛选时,城市显示选中样式。需要把city_id传回html,使得知道是哪个被选中
原代码
修改为
 
3.1 此时,全部和选中的城市都会标绿,怎么解决这个问题呢
在organization/views.py中我们定义没有城市选中时,city_id为空
那么可修改org-list.html中表示"全部"的代码如下
 
 
 
 
4. 按类别进行筛选,和城市筛选类似
org-list.html中表示类别的原代码如下
 
4.1 修改views.py,在organiztion/views.py-> class OrgView添加
 
4.2 return语句中增加
 
4.3 修改前端中表示机构类别的代码为
 
相应的也可以修改城市分类中加上机构类别管理选择
 
 
4.4 此时筛选统计结果会有问题,一直显示总机构数,如果想得到按要求筛选结果的统计结果,只需要移动代码到筛选代码之后
 
 
 
三. 授课机构排名(网页右边) 
 
1. 在organiztion/views.py-> class OrgView添加hot_orgs变量
 
并且把这个变量加在return render的字典参数中,从而传递到前端网页
 
2. 在org-list.html中找到授课机构排名部分代码,发现每个机构也是一个<dl>标签,创建一个for循环模板标签,复制一个<dl>到循环中,修改机构名,地址为模板变量,删掉其他的<dl>
需要注意的是{{ forloop.counter }}这个是for循环中自动计数的变量,每循环一次,值就加1
 
 
 
四. 学习人数,课程数排序
 
1. 在organization/models.py-->CourseOrg中添加学习人数,课程数变量,然后迁移数据库
 
2. 修改org-list.html中的学习人数和课程数代码中<a>标签的href属性,以便在view函数中取到相应的sort值,前面加问号是固定写法
 
 
3. 在后台view中添加
然后添加sort到return render的字典参数中传递给前端
 
4. 修改org-list.html中学校人数和课程数代码,实现选中效果,以及和"机构类别","排序地区"之间的关联筛选

 

mxonline实战8,机构列表分页功能,以及按条件筛选功能的更多相关文章

  1. Python 高效编程技巧实战(2-1)如何在列表,字典, 集合中根据条件筛选数据

    Python 高效编程技巧实战(2-1)如何在列表,字典, 集合中根据条件筛选数据 学习目标 1.学会使用 filter 借助 Lambda 表达式过滤列表.集合.元组中的元素: 2.学会使用列表解析 ...

  2. 织梦CMS实现多条件筛选功能

    用织梦实现筛选的功能,其实主要就是运用到了织梦的高级搜索功能,然后用ajax去post替换掉本来的结果就可以了. 其实筛选的话,主要有两个问题需要解决,一个是前台的筛选实现,一个是后台根据前台的点击, ...

  3. 求解:php商品条件筛选功能你是怎么做出来的?

    求解:php商品条件筛选功能你是怎么做出来的? 2013-09-25 13:43 chenhang607 | 浏览 2756 次 资源共享 求思路或者方法,最好能有些代码 2013-09-25 14: ...

  4. python基础一 -------如何在列表字典集合中根据条件筛选数据

    如何在列表字典集合中根据条件筛选数据 一:列表 先随机生成一个列表,过滤掉负数 1,普通for循环迭代判断 2,filter()函数判断,filter(函数,list|tuple|string) fi ...

  5. php商品条件筛选功能你是怎么做出来的?

    php商品条件筛选功能你是怎么做出来的? php按条件筛选商品的功能,还是比较简单的.其实就是根据不同的条件组成SQL查询条件,从数据库里查出不同的商品出来.举个例子:用户可以按价格范围.按品牌.按商 ...

  6. 利用PHP访问数据库——实现分页功能与多条件查询功能

    1.实现分页功能 <body><table width="100%" border="1">  <thead>    < ...

  7. C#&JQ仿网上商城商品条件筛选功能

    1.后台绑定: 一种案例: 根据第一级显示第二级,并带有每个二级的“全部”功能: #region 绑定区域 #region 绑定一级区域 ) <= ? : (PageIndex - )) + , ...

  8. 如何在列表,字典,集合中,根据条件筛选数据 -- Python数据结构与算法相关问题与解决技巧

    实际案例: 1.过滤掉列表 [3,9,-1,10,20,-2..]的负数 2.筛出字典{'LiLei':79,'Jim':88,'Lucy':92...}中值高于90的项 3.筛出集合 {77,89, ...

  9. 【PHP开源产品】Ecshop的商品筛选功能实现分析之一

    一.首先,说明一下为什么要对category.php文件进行分析. 原因如下: ①个人对商城类商品筛选功能的实现比较好奇: ②对商城中关于商品的数据表设计比较感兴趣.(该功能涉及到与数据库的交互,而且 ...

随机推荐

  1. Unix高级编程Note1

    [Unix Notes] 1./etc/passwd 2.extern int errno; 3.限制, limit.h 4.文件原子操作:O_EXCL & O_CREAT 5.stat操作 ...

  2. final关键字的简单理解

    final可以修饰类,方法,变量. 1.final修饰的类,不可以被继承. 2.final修饰方法,可以把方法锁定,以防任何继承类修改它的含义. 3.fianl修饰的变量,如果是基本数据类型的变量,则 ...

  3. 116. Populating Next Right Pointers in Each Node (Tree; WFS)

    Given a binary tree struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode *nex ...

  4. 96. Unique Binary Search Trees (Tree; DP)

    Given n, how many structurally unique BST's (binary search trees) that store values 1...n? For examp ...

  5. 20-调用百度AI的文字识别

    本来准备自己写识别的,貌似现在能力不足,直接偷懒用百度的api吧 from aip import AipOcr """ 你的 APPID AK SK "&quo ...

  6. java高级工程师(二)

    一.Java底层基础题 1.SpringMVC的原理以及返回数据如何渲染到jsp/html上? 答:Spring MVC的核心就是 DispatcherServlet , 一个请求经过 Dispatc ...

  7. svn版本分支及冲突解决笔记

    转载:http://blog.csdn.net/xuguiyi100/article/details/51966557 分支合并主干示例 1.主干工程右键选择merge合并下一步 2.选中merge ...

  8. Halcon中的坐标系特点及XLD的镜像转换

    我们知道,Halcon中的坐标系的原点在左上角,而一般二维平面坐标系的原点在左下角.那么Halcon中坐标系和一般的二维坐标系有什么区别呢?我通过下面这个例子来分析. gen_image_const ...

  9. golang之切片

    1.切片:切片是数组的一个引用,因此切片是引用类型 2.切片的长度可以改变,因此,切片是个可变的数组. 3.切片遍历方式和数组一样,可以用len()求长度 4.cap可以求出slice最大的容量,0& ...

  10. OSX 下 sftp 上传目录到服务器

    使用如下命令: put –r dir mput –r dir