对应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. [JAVA][StringUtils]字符串工具类的常用方

    StringUtils 方法的操作对象是 java.lang.String 类型的对象,是 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String 为 ...

  2. 06-SSH综合案例:前台首页访问

    1.5 编码实现: 1.5.1 首页显示: 复制所有文件到工程下: *  css *  js *  image 复制页面到工程WEB-INF/jsp/ * 将后缀.htm改为jsp 访问一个Actio ...

  3. linux sudo 系统环境变量 用户环境变量

    1. sudo就是普通用户临时拥有root的权限.好处在于,大多数时候使用用户自定义的配置,少数情况可以通过sudo实现root权限做事. 故而,需要注意的一点是,在你使用了sudo后,你临时不再是原 ...

  4. Python_05-文件操作

    目录: 1             文件操作 1.1          快速入门 1.1.1       用Python创建一个新文件 1.1.2       文件内容追加,从0到9的10个随机整数 ...

  5. quartz cron表达式demo

    1.每天0点5分开始,以后每隔15分钟启动一次,23:50停止: 0 5/15 0-23 * * * cron表达式,由于从5分开始,每15分钟执行一次,到了23点的最后一次执行时间正好是23:50. ...

  6. 39-python 字符串替换+正则

    from bs4 import BeautifulSoup import urllib.request import re moduel =re.compile('<.*?>') st = ...

  7. weblogic 初始化

    weblogic无法启动,或是忘记了登陆密码,需要初始化,可以删除weblogic配置然后重新生成配置.步骤如下 1> 找到weblogic的启动路径,打开jdeveloper,run后,查看日 ...

  8. day24,python习题

    今日作业 有两个列表,分别存放来老男孩报名学习linux和python课程的学生名字 linux=['钢弹','小壁虎','小虎比','alex','wupeiqi','yuanhao'] pytho ...

  9. 逆序对 分治nlogn

    定义:A是包含n个元素的有序序列{a1,a2 … an},若ai > aj 且 i < j ,则称 (ai , aj)是A的一个逆序对.求逆序对是指求出A中存在逆序对的数量. 这个算法是归 ...

  10. 用JQ去实现一个轮播效果

    前提:用JQ去实现轮播效果一步步的做一个梳理. 首先肯定是轮播的HTML和CSS样式了: <body> <div class="pic"> <div ...