django列表筛选功能的实现代码


Posted in Python onMarch 27, 2020

views,中设置请求的类型

class LawDetailView(View):
 def get(self, request, law_id):
  type = request.GET.get('type', '')
  law = Law.objects.get(id=law_id)

  return render(request, 'zcfg-detail.html', {
   'law': law,
   'type': type,
  })

templates,中设置:

<div class="col-lg-12" style="margin-bottom: 20px;">
    <a class="{% if type == '' %}btn btn-danger{% else %}btn btn-default{% endif %}" href="?type=" rel="external nofollow" role="button">全部</a>
    <a class="{% if type == 'fl' %}btn btn-danger{% else %}btn btn-default{% endif %}" href="?type=fl" rel="external nofollow" role="button">法律</a>
    <a class="{% if type == 'xzfg' %}btn btn-danger{% else %}btn btn-default{% endif %}" href="?type=xzfg" rel="external nofollow" role="button">行政法规</a>
    <a class="{% if type == 'bmgz' %}btn btn-danger{% else %}btn btn-default{% endif %}" href="?type=bmgz" rel="external nofollow" role="button">部门规章</a>
    <a class="{% if type == 'dfgz' %}btn btn-danger{% else %}btn btn-default{% endif %}" href="?type=dfgz" rel="external nofollow" role="button">地方规章</a>
</div>

补充知识:django 一种动态查询的便捷实现过程

问题引出

你可能遇到这种情况,在前端页面上有查询功能,要查询的输入选择有A,B,C等,可以通过任意一个查询,或者任意组合进行查询。

在后端,你可以使用request.GET['A']获取传入的数值。

我们需要判断哪个有输入,再在数据库中进行查询,这样比较麻烦。

解决方案

动态实现查询过程

kwargs = {}
if A is not None:
 kwargs['name__startWith'] = A
if B is not None:
 kwargs['address__contains'] = B
if C is not None:
 kwargs['mobile__endWith'] = C
...
...
personList = Person.objects.filter(**kwargs)
...

注:

A B C 等,为前端传输过来的数据

name address mobile 等,需为你要查询的表的属性字段

startWith contains endWith 等,为你要筛选的规则

Person 为model 表名

以上这篇django列表筛选功能的实现代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python操作sqlite的CRUD实例分析
May 08 Python
简介Python设计模式中的代理模式与模板方法模式编程
Feb 02 Python
Anaconda多环境多版本python配置操作方法
Sep 12 Python
基于python神经卷积网络的人脸识别
May 24 Python
Python3爬取英雄联盟英雄皮肤大图实例代码
Nov 14 Python
Python爬虫实现验证码登录代码实例
May 10 Python
利用Python进行图像的加法,图像混合(附代码)
Jul 14 Python
在python 中split()使用多符号分割的例子
Jul 15 Python
python数据类型之间怎么转换技巧分享
Aug 20 Python
Python中xml和dict格式转换的示例代码
Nov 07 Python
NumPy排序的实现
Jan 21 Python
Python中的流程控制详解
Feb 18 Python
python实现猜数游戏
Mar 27 #Python
手把手教你安装Windows版本的Tensorflow
Mar 26 #Python
python pandas.DataFrame.loc函数使用详解
Mar 26 #Python
Python计算指定日期是今年的第几天(三种方法)
Mar 26 #Python
Python函数默认参数常见问题及解决方案
Mar 26 #Python
Python内建序列通用操作6种实现方法
Mar 26 #Python
PyQt5 界面显示无响应的实现
Mar 26 #Python
You might like
Laravel 4 初级教程之安装及入门
2014/10/30 PHP
ThinkPHP使用Smarty第三方插件方法小结
2016/03/19 PHP
PDO::quote讲解
2019/01/29 PHP
PHP设计模式(四)原型模式Prototype实例详解【创建型】
2020/05/02 PHP
通过javascript把图片转化为字符画
2013/10/24 Javascript
js实现通用的微信分享组件示例
2014/03/10 Javascript
javascript实现倒计时并弹窗提示特效
2015/06/05 Javascript
JS深度拷贝Object Array实例分析
2016/03/31 Javascript
jQuery基础_入门必看知识点
2016/07/04 Javascript
微信小程序 教程之引用
2016/10/18 Javascript
angular双向绑定模拟探索
2016/12/26 Javascript
JavaScript 事件对内存和性能的影响
2017/01/22 Javascript
jquery实现图片上传前本地预览
2017/04/28 jQuery
详解axios 全攻略之基本介绍与使用(GET 与 POST)
2017/09/15 Javascript
详解vue-router 命名路由和命名视图
2018/06/01 Javascript
详解webpack4.x之搭建前端开发环境
2019/03/28 Javascript
小程序封装路由文件和路由方法(5种全解析)
2019/05/26 Javascript
小程序实现悬浮搜索框
2019/07/12 Javascript
layui监听工具栏的实例(操作列表按钮)
2019/09/10 Javascript
javascript实现留言板功能
2020/02/08 Javascript
vue-router的hooks用法详解
2020/06/08 Javascript
Vue打包部署到Nginx时,css样式不生效的解决方式
2020/08/03 Javascript
详解Python中的Numpy、SciPy、MatPlotLib安装与配置
2017/11/17 Python
Pandas Shift函数的基础入门学习笔记
2018/11/16 Python
Python随机数函数代码实例解析
2020/02/09 Python
python GUI库图形界面开发之PyQt5图片显示控件QPixmap详细使用方法与实例
2020/02/27 Python
Matplotlib中rcParams使用方法
2021/01/05 Python
艺术应用与设计个人的自我评价
2013/11/23 职场文书
物理学专业自荐信
2014/06/11 职场文书
普通党员个人剖析材料
2014/10/08 职场文书
人事局接收函
2015/01/30 职场文书
大专护理专业自荐信
2015/03/25 职场文书
会议营销主持词
2015/07/03 职场文书
CentOS MySql8 远程连接实战
2022/04/19 MySQL
vue 自定义的组件绑定点击事件
2022/04/21 Vue.js
阿里云服务器(windows)手动部署FTP站点详细教程
2022/08/05 Servers