对应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. This usually happens because your environment has changed since running `npm install`

    此时运行按照提示执行  npm rebuild node-sass  命令,(如若不行,则先运行npm install node-sass命令执行) 然后再运行 node命令,启动服务.

  2. 给我们的Empty Object加个图标

    Gizmos.DrawIcon (transform.position, "1.png", true);

  3. ThinkPHP出现General error: 2006 MySQL server has gone away的解决方法

    错误: #13 {main}SQLSTATE[HY000]: General error: 2006 MySQL server has gone awayFILE: \ThinkPHP\Library ...

  4. Create Empty Project In Vs But Not Debug?

    问题描述 在使用VS创建一个空的项目管理,然后,添加项目.可是,这个时候,项目虽然可以运行,但是不能Debug进行调试. 解决方法 按照下面三张图像的设置即可.

  5. 四元数--结合《real time rendering》中关于四元数部分

    四元数产生于1843年,是复数的一个扩展,所以里面包含了一些复数的运算.直到1985年才在图形学中使用. 四元数的优势是,相对与矩阵和欧拉角,四元数更直观和方便.四元数还可以用作某些方向上的插值,而欧 ...

  6. ANGULAR 2 BITS: UNIFIED DEPENDENCY INJECTION

    Angular 1.x has two APIs for injecting dependencies into a directive. These APIs are not interchange ...

  7. ssh 无密码登录要使用公钥与私钥

    ssh 无密码登录要使用公钥与私钥.linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例. 有机器A(192.168.1.155),B(192.168.1.181).现想 ...

  8. test4 结对项目

    [必做 1] 基于作业3的结果,读取一个较小的文本文件A_Tale_of_Two_Cities.txt,统计该文件中的单词的频率,并将统计结果输出到当前目录下的 Result1.txt 文件. 结对对 ...

  9. [Elixir003] Mix Archives

    在[Elixir001]中使用 mix escript.build 生成一个lifelog 的escript启动脚本. 今天我们尝试一下另一种方式:生成Archives. 我们先添加一个Task 1. ...

  10. 基于 Raphael 的 Web UI 设计 - 初稿

    基于 Raphael 的 UI 设计 - 初稿 还有很多地方需要完善,这次要把 Raphael 彻底用起来,^_^, 一定要150字哦,一图抵千字啊,^_^,不喜欢写字的,那么怎么凑够150字呢,说说 ...