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获取本机外网ip的方法
Apr 15 Python
详解在Python程序中使用Cookie的教程
Apr 30 Python
使用tensorflow实现线性svm
Sep 07 Python
Python pyinotify模块实现对文档的实时监控功能方法
Oct 13 Python
如何使用Python自动控制windows桌面
Jul 11 Python
Python pandas实现excel工作表合并功能详解
Aug 29 Python
Python简易计算器制作方法代码详解
Oct 31 Python
python实现FTP文件传输的方法(服务器端和客户端)
Mar 20 Python
使用darknet框架的imagenet数据分类预训练操作
Jul 07 Python
python为什么要安装到c盘
Jul 20 Python
Python turtle实现贪吃蛇游戏
Jun 18 Python
Python基本数据类型之字符串str
Jul 21 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
十天学会php之第九天
2006/10/09 PHP
用文本文件制作留言板提示(上)
2006/10/09 PHP
用PHP函数解决SQL injection
2006/12/09 PHP
使用Yii2实现主从数据库设置
2016/11/20 PHP
PHP合并数组的2种方法小结
2016/11/24 PHP
PHP4和PHP5版本下解析XML文档的操作方法实例分析
2017/05/20 PHP
实例讲解YII2中多表关联的使用方法
2017/07/21 PHP
php中file_get_contents()函数用法实例
2019/02/21 PHP
web性能优化之javascript性能调优
2012/12/28 Javascript
JQuery实现样式设置、追加、移除与切换的方法
2015/06/11 Javascript
简述AngularJS的控制器的使用
2015/06/16 Javascript
nodejs初步体验篇
2015/11/23 NodeJs
AngularJS中使用HTML5手机摄像头拍照
2016/02/22 Javascript
js检查是否关闭浏览器的方法
2016/08/02 Javascript
js实现带简单弹性运动的导航条
2017/02/22 Javascript
jQuery+C#实现参数RSA加密传输功能【附jsencrypt.js下载】
2017/06/26 jQuery
vue使用keep-alive实现数据缓存不刷新
2017/10/21 Javascript
通过实例了解Nodejs模块系统及require机制
2020/07/16 NodeJs
[01:00:49]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第二场 1月31日
2021/03/11 DOTA
python使用chardet判断字符串编码的方法
2015/03/13 Python
详解Django项目中模板标签及模板的继承与引用(网站中快速布置广告)
2019/03/27 Python
Python Datetime模块和Calendar模块用法实例分析
2019/04/15 Python
numpy矩阵数值太多不能全部显示的解决
2020/05/14 Python
Python实现数字的格式化输出
2020/08/01 Python
一款利用纯css3实现的win8加载动画的实例分析
2014/12/11 HTML / CSS
iHerb台湾:维生素、保健品和健康产品
2018/01/31 全球购物
DOM和JQuery对象有什么区别
2016/11/11 面试题
自荐信不宜过于夸大
2013/11/06 职场文书
兵马俑的导游词
2015/02/02 职场文书
2015年大学生党员承诺书
2015/04/27 职场文书
幼儿园毕业致辞
2015/07/29 职场文书
幼儿园教师教育随笔
2015/08/14 职场文书
python Polars库的使用简介
2021/04/21 Python
python实战之90行代码写个猜数字游戏
2021/04/22 Python
MySQL 自定义变量的概念及特点
2021/05/13 MySQL
Win Server2016远程桌面如何允许多用户同时登录
2022/06/10 Servers