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将pdf输出为txt的实例讲解
Apr 23 Python
对numpy.append()里的axis的用法详解
Jun 28 Python
python 字典中文key处理,读取,比较方法
Jul 06 Python
flask入门之文件上传与邮件发送示例
Jul 18 Python
python中copy()与deepcopy()的区别小结
Aug 03 Python
通过python的matplotlib包将Tensorflow数据进行可视化的方法
Jan 09 Python
OpenCV 轮廓检测的实现方法
Jul 03 Python
python 字符串追加实例
Jul 20 Python
Python 堆叠柱状图绘制方法
Jul 29 Python
Python新手学习raise用法
Jun 03 Python
tensorflow图像裁剪进行数据增强操作
Jun 30 Python
浅谈Selenium 控制浏览器的常用方法
Dec 04 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重新实现PHP脚本引擎内置函数
2007/03/06 PHP
jQuery 源码分析笔记
2011/05/25 PHP
JavaScript与HTML结合的基本使用方法整理
2015/10/12 PHP
thinkphp,onethink和thinkox中验证码不显示的解决方法分析
2016/06/06 PHP
php基于websocket搭建简易聊天室实践
2016/10/24 PHP
PHP与Web页面的交互示例详解一
2020/08/04 PHP
使用Javascript和DOM Interfaces来处理HTML
2006/10/09 Javascript
javascript实现面向对象类的功能书写技巧
2010/03/07 Javascript
页面调用单个swf文件,嵌套出多个方法。
2011/11/21 Javascript
pace.js页面加载进度条插件
2015/09/29 Javascript
javascript新闻跑马灯实例代码
2020/07/29 Javascript
javascript比较语义化版本号的实现代码
2016/09/09 Javascript
微信小程序 生命周期详解
2016/10/12 Javascript
微信小程序 scroll-view隐藏滚动条详解
2017/01/16 Javascript
浅谈React深度编程之受控组件与非受控组件
2017/12/26 Javascript
微信小程序在ios下Echarts图表不能滑动的问题解决
2019/07/10 Javascript
vue使用@scroll监听滚动事件时,@scroll无效问题的解决方法详解
2019/10/15 Javascript
详解react组件通讯方式(多种)
2020/05/06 Javascript
Element InfiniteScroll无限滚动的具体使用方法
2020/07/27 Javascript
[06:35]2014DOTA2国际邀请赛 老男孩梦圆西雅图中国军团世界最强
2014/07/22 DOTA
[01:03:27]NAVI vs EG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
python正则表达式re模块详细介绍
2014/05/29 Python
python根据开头和结尾字符串获取中间字符串的方法
2015/03/26 Python
Python使用smtplib模块发送电子邮件的流程详解
2016/06/27 Python
pandas中的DataFrame按指定顺序输出所有列的方法
2018/04/10 Python
mac下pycharm设置python版本的图文教程
2018/06/13 Python
OpenCV2从摄像头获取帧并写入视频文件的方法
2018/08/03 Python
python 搭建简单的http server,可直接post文件的实例
2019/01/03 Python
python+django+rest框架配置创建方法
2019/08/31 Python
Pytorch的mean和std调查实例
2020/01/02 Python
python3中的logging记录日志实现过程及封装成类的操作
2020/05/12 Python
详解HTML5中的picture元素响应式处理图片
2018/01/03 HTML / CSS
瑞士领先的网上超市:LeShop.ch
2018/11/14 全球购物
投标服务承诺书
2014/05/28 职场文书
心得体会的写法
2014/09/05 职场文书
Go调用Rust方法及外部函数接口前置
2022/06/14 Golang