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解析并修改XML文档的方法
Oct 15 Python
Python深入06——python的内存管理详解
Dec 07 Python
利用numpy实现一、二维数组的拼接简单代码示例
Dec 15 Python
使用python 爬虫抓站的一些技巧总结
Jan 10 Python
pandas 两列时间相减换算为秒的方法
Apr 20 Python
使用Python监控文件内容变化代码实例
Jun 04 Python
python字典值排序并取出前n个key值的方法
Oct 17 Python
python 随机森林算法及其优化详解
Jul 11 Python
Python:二维列表下标互换方式(矩阵转置)
Dec 02 Python
django商品分类及商品数据建模实例详解
Jan 03 Python
Pycharm插件(Grep Console)自定义规则输出颜色日志的方法
May 27 Python
python中pandas对多列进行分组统计的实现
Jun 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
javascript 小型动画组件与实现代码
2010/06/02 PHP
php实现的支持断点续传的文件下载类
2014/09/23 PHP
常见php数据文件缓存类汇总
2014/12/05 PHP
jQuery 瀑布流 绝对定位布局(二)(延迟AJAX加载图片)
2012/05/23 Javascript
使用jquery动态加载js文件的方法
2014/12/24 Javascript
jQuery实现的类似淘宝网站搜索框样式代码分享
2015/08/24 Javascript
JS+CSS实现精美的二级导航效果代码
2015/09/17 Javascript
COM组件中调用JavaScript函数详解及实例
2017/02/23 Javascript
浅谈vue.js导入css库(elementUi)的方法
2018/03/09 Javascript
JS获取指定月份的天数两种实现方法
2018/06/22 Javascript
JS加密插件CryptoJS实现的Base64加密示例
2020/08/16 Javascript
vue表单自定义校验规则介绍
2018/08/28 Javascript
详解vue-router数据加载与缓存使用总结
2018/10/29 Javascript
vue--vuex详解
2019/04/15 Javascript
Echarts实现多条折线可拖拽效果
2019/12/19 Javascript
vue-video-player 解决微信自动全屏播放问题(横竖屏导致样式错乱问题)
2020/02/25 Javascript
js this 绑定机制深入详解
2020/04/30 Javascript
使用python编写udp协议的ping程序方法
2018/04/22 Python
浅谈Pandas 排序之后索引的问题
2018/06/07 Python
使用python根据端口号关闭进程的方法
2018/11/06 Python
Python字符串的常见操作实例小结
2019/04/08 Python
Python+pyplot绘制带文本标注的柱状图方法
2019/07/08 Python
使用python将多个excel文件合并到同一个文件的方法
2019/07/09 Python
HTML5拖拽功能实现的拼图游戏
2018/07/31 HTML / CSS
写出一个方法实现冒泡排序
2016/07/08 面试题
临床医学应届生求职信
2013/11/06 职场文书
会计专业应届生求职信
2013/11/24 职场文书
档案接收函范文
2014/01/10 职场文书
纺织工程专业个人求职信范文
2014/01/27 职场文书
优秀班集体申报材料
2014/12/25 职场文书
2015年乡镇平安建设工作总结
2015/05/13 职场文书
大学学习委员竞选稿
2015/11/20 职场文书
青年干部培训班学习心得体会
2016/01/06 职场文书
求职自荐信该如何书写?
2019/06/24 职场文书
Python函数式编程中itertools模块详解
2021/09/15 Python
win10忘记pin密码登录不了怎么办?win10忘记pin密码登不进去的解决方法
2022/07/07 数码科技