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使用百度翻译进行中翻英示例
Apr 14 Python
Python3基础之条件与循环控制实例解析
Aug 13 Python
Python实现多行注释的另类方法
Aug 22 Python
Python查询阿里巴巴关键字排名的方法
Jul 08 Python
http请求 request失败自动重新尝试代码示例
Jan 25 Python
python实现提取str字符串/json中多级目录下的某个值
Feb 27 Python
Django CSRF认证的几种解决方案
Mar 03 Python
使用keras和tensorflow保存为可部署的pb格式
May 25 Python
Python 实现图片转字符画的示例(静态图片,gif皆可)
Nov 05 Python
python 图像增强算法实现详解
Jan 24 Python
Python爬虫实现selenium处理iframe作用域问题
Jan 27 Python
深入理解python协程
Jun 15 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+ACCESS 文章管理程序代码
2010/06/21 PHP
php url地址栏传中文乱码解决方法集合
2010/06/25 PHP
php获取指定数量随机字符串的方法
2017/02/06 PHP
Thinkphp整合阿里云OSS图片上传实例代码
2019/04/28 PHP
jquery操作下拉列表、文本框、复选框、单选框集合(收藏)
2014/01/08 Javascript
JavaScript设计模式之工厂模式和构造器模式
2015/02/11 Javascript
javascript下拉框选项单击事件的例子分享
2015/03/04 Javascript
JavaScript实现非常简单实用的下拉菜单效果
2015/08/27 Javascript
用jQuery向div中添加Html文本内容的简单实现
2016/07/13 Javascript
原生js实现可拖拽效果
2017/02/28 Javascript
php register_shutdown_function函数详解
2017/07/23 Javascript
Vue 中使用 CSS Modules优雅方法
2018/04/09 Javascript
解决eclipse中没有js代码提示的问题
2018/10/10 Javascript
javascript实现获取中文汉字拼音首字母
2020/05/19 Javascript
小程序实现背景音乐播放和暂停
2020/06/19 Javascript
[00:17]DOTA2荣耀之路5:It’s a disastah!
2018/05/28 DOTA
[34:10]Secret vs VG 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.24
2019/09/10 DOTA
详解Python的collections模块中的deque双端队列结构
2016/07/07 Python
Python装饰器用法示例小结
2018/02/11 Python
python爬虫爬取网页表格数据
2018/03/07 Python
使用Python实现一个栈判断括号是否平衡
2018/08/23 Python
python查看文件大小和文件夹内容的方法
2019/07/08 Python
python requests包的request()函数中的参数-params和data的区别介绍
2020/05/05 Python
用python实现一个简单计算器(完整DEMO)
2020/10/14 Python
CSS3 @font-face属性使用指南
2014/12/12 HTML / CSS
英国经典球衣网站:Classic Football Shirts
2017/05/20 全球购物
房屋租赁协议书范本
2014/04/10 职场文书
党的群众路线教育实践活动个人对照检查材料(企业)
2014/11/05 职场文书
一年级语文下册复习计划
2015/01/17 职场文书
质检员岗位职责
2015/02/03 职场文书
单位接收证明格式
2015/06/18 职场文书
2015年中秋节主持词
2015/07/30 职场文书
升职自荐书
2019/05/09 职场文书
解决Pytorch dataloader时报错每个tensor维度不一样的问题
2021/05/28 Python
JavaScript函数柯里化
2021/11/07 Javascript
vue使用localStorage持久性存储实现评论列表
2022/04/14 Vue.js