第三百八十九节,Django+Xadmin打造上线标准的在线教育平台—列表筛选结合分页

根据用户的筛选条件来结合分页

实现原理就是,当用户点击一个筛选条件时,通过get请求方式传参将筛选的id或者值,传入逻辑处理就行数据库条件查询,将查询条件值在返回html页面判断是否是选中样式,最后将所有需要关联的筛选请求加上彼此逻辑处理传回来的查询条件值

html请求传参

黄色背景为请求传参

红色背景为逻辑处理传过来的查询条件判断样式

<div class="wp butler_list_box list"><div class='left'><div class="listoptions"><ul><li><h2>机构类别</h2><div class="cont"><a href="?leib=&chsh={{ chsh_id }}"><span class="{% ifequal lei_bie '' %}active2{% endifequal %}">全部</span></a><a href="?leib=pxjg&chsh={{ chsh_id }}"><span class="{% ifequal lei_bie 'pxjg' %}active2{% endifequal %}">培训机构</span></a><a href="?leib=gx&chsh={{ chsh_id }}"><span class="{% ifequal lei_bie 'gx' %}active2{% endifequal %}">高校</span></a><a href="?leib=gr&chsh={{ chsh_id }}"><span class="{% ifequal lei_bie 'gr' %}active2{% endifequal %}">个人</span></a></div></li><li><h2>所在地区</h2><div class="more">更多</div><div class="cont"><a href="?chsh=&leib={{ lei_bie }}"><span class="{% ifequal chsh_id '' %}active2{% endifequal %}">全部</span></a>{# 循环城市 #}{% for ch in cheng_shi %}<a href="?chsh={{ ch.id }}&leib={{ lei_bie }}"><span class="{% ifequal chsh_id ch.id|stringformat:'i' %}active2{% endifequal %}">{{ ch.name }}</span></a>{% endfor %}</div></li></ul></div>

逻辑处理

from django.shortcuts import render, HttpResponse, redirect                                 # 导入django向浏览器返回方法
from django.views.generic.base import View
from django.db.models import F,Q
from pure_pagination import Paginator, EmptyPage, PageNotAnIntegerfrom app_organization.models import CityDict, CourseOrg                       # 数据库表class org_list(View):def get(self, request):# 课程机构ji_gou = CourseOrg.objects.all()                # 获取数据库的所有数据# 城市帅选cheng_shi = CityDict.objects.all()chsh_id = request.GET.get('chsh', '')           # 获取用户点击了城市传过来的城市idif chsh_id:ji_gou = ji_gou.filter(city_id=chsh_id)     # 帅选出指定城市的数据# 类别帅选lei_bie = request.GET.get('leib', '')           # 获取用户点击了城市传过来的城市idif lei_bie:ji_gou = ji_gou.filter(category=lei_bie)     # 帅选出指定城市的数据
ji_gou_shu = ji_gou.count()                   # 统计获取到的数量# 分页功能try:page = request.GET.get('page', 1)           # 获取当前页码,如果没有默认1except PageNotAnInteger:                        # 如果获取页码出错,默认1page = 1p = Paginator(ji_gou, 4, request=request)       # 执行分页函数,参数1数据库的数据,参数2显示多少条数据,参数3request
people = p.page(page)                           # 返回一个,包含了分页数据和分页导航的对象return render(request, 'org_list.html', {'cheng_shi': cheng_shi,                 # 城市数据'people': people,                       # 将分页对象传到html页面'ji_gou_shu': ji_gou_shu,               # 机构数量'chsh_id': chsh_id,                     # 城市帅选ID'lei_bie': lei_bie                      # 类别
        })def post(self, request):pass

转载于:https://www.cnblogs.com/adc8868/p/7542437.html

第三百八十九节,Django+Xadmin打造上线标准的在线教育平台—列表筛选结合分页...相关推荐

  1. 第三百九十一节,Django+Xadmin打造上线标准的在线教育平台—404,403,500页面配置...

    第三百九十一节,Django+Xadmin打造上线标准的在线教育平台-404,403,500页面配置 路由映射 在全局也就是根目录里的urls.py里配置404路由映射 注意:不是写在urlpatte ...

  2. 第三百八十一节,Django+Xadmin打造上线标准的在线教育平台—xadmin全局配置

    第三百八十一节,Django+Xadmin打造上线标准的在线教育平台-xadmin全局配置 1.xadmin主题设置 要使用xadmin主题,需要在一个app下的adminx.py后台注册文件里,写一 ...

  3. 第三百九十二节,Django+Xadmin打造上线标准的在线教育平台—sql注入攻击,xss攻击,csrf攻击...

    第三百九十二节,Django+Xadmin打造上线标准的在线教育平台-sql注入攻击,xss攻击,csrf攻击 sql注入攻击 也就是黑客通过表单提交的地方,在表单里输入了sql语句,就是通过SQL语 ...

  4. 第三百七十七节,Django+Xadmin打造上线标准的在线教育平台—apps目录建立,以及数据表生成...

    第三百七十七节,Django+Xadmin打造上线标准的在线教育平台-apps目录建立,以及数据表生成 apps目录建立 我们创建一个apps目录,将所有的app放到apps目录里去,这样方便管理,也 ...

  5. 第三百二十六节,web爬虫,scrapy模块,解决重复ur——自动递归url

    第三百二十六节,web爬虫,scrapy模块,解决重复url--自动递归url 一般抓取过的url不重复抓取,那么就需要记录url,判断当前URL如果在记录里说明已经抓取过了,如果不存在说明没抓取过 ...

  6. 计算机专业必玩游戏,游戏推荐 篇三百八十五:非常好玩的机甲类游戏推荐

    游戏推荐 篇三百八十五:非常好玩的机甲类游戏推荐 2020-12-14 15:46:07 20点赞 77收藏 14评论 创作立场声明:哈喽,各位值友的小伙伴们大家好呀,我是你们的老朋友大白(●-●), ...

  7. 第三百二十五节,web爬虫,scrapy模块标签选择器下载图片,以及正则匹配标签...

    第三百二十五节,web爬虫,scrapy模块标签选择器下载图片,以及正则匹配标签 标签选择器对象 HtmlXPathSelector()创建标签选择器对象,参数接收response回调的html对象 ...

  8. 第三百二十四节,web爬虫,scrapy模块介绍与使用

    第三百二十四节,web爬虫,scrapy模块介绍与使用 Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 其可以应用在数据挖掘,信息处理或存储历史数据等一系列的程序中. 其最初是为 ...

  9. 测试开发之Django实战示例 第十章 创建在线教育平台

    第十章 创建在线教育平台 在上一章,我们为电商网站项目添加了国际化功能,还创建了优惠码和商品推荐系统.在本章,会建立一个新的项目:一个在线教育平台,并创内容管理系统CMS(Content Manage ...

最新文章

  1. ubuntu通过apt-get方式搭建lnmp环境以及php扩展安装
  2. 系统监控:top vs Htop vs Glances
  3. 学习quartz定时
  4. [PAPER-RECORD]
  5. Bootstrap 中的工具Mixin
  6. 【操作系统学习笔记】操作系统基础
  7. c语言编程统计磁盘文件,C语言编程题经典40题(附解答).ppt
  8. 问道虚拟机服务器地址,问道架设安装详细说明
  9. 2021年华为杯数学建模参赛经验分享
  10. 全国所有火车站(12306官方客运营业站站点)很全!!
  11. 学习笔记-MATLAB函数调用关系查看
  12. mac mtu测试_如何查看 Mac 的以太网卡速度
  13. LeetCode hot-100 简单and中等难度,21-30.
  14. PIVOT 和 UNPIVOT实例使用
  15. 狗年最后一文[2007-02-16]
  16. stm32点亮LED的有关寄存器配置CRL、CRH、IDR、ODR
  17. 大话数据结构笔记-图
  18. SpringBoot-spring-data-elasticsearch7.12.0
  19. java web系统毕业论文_毕业论文--基于JavaWeb的网络购物中心系统的实现.doc
  20. 百数人力行政管理系统能力展示——人力资源

热门文章

  1. oracle日期格式更新_oracle 日期格式
  2. Fuzzy c-means (FCM)聚类算法
  3. 目前对Learning to Rank 最全面的总结
  4. 回归分析结果表格怎么填_手把手教绘制回归分析结果的森林图GraphPad Prism和Excel...
  5. log python_基于Python log 的正确打开方式
  6. python刷新网页脚本_python语言如何测试实现页面下拉刷新
  7. 求最大整数及其最小下标
  8. 【线段树 泰勒展开】Codechef April Challenge 2018 Chef at the Food Fair
  9. windows 10安装gensim、nltk
  10. python 全栈开发,Day79(Django的用户认证组件,分页器)