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 相关文章推荐
详解Swift中属性的声明与作用
Jun 30 Python
Python模拟登陆淘宝并统计淘宝消费情况的代码实例分享
Jul 04 Python
python遍历 truple list dictionary的几种方法总结
Sep 11 Python
python实现人脸识别经典算法(一) 特征脸法
Mar 13 Python
对tensorflow 的模型保存和调用实例讲解
Jul 28 Python
python MNIST手写识别数据调用API的方法
Aug 08 Python
解决pandas.DataFrame.fillna 填充Nan失败的问题
Nov 06 Python
Python使用pyautocad+openpyxl处理cad文件示例
Jul 11 Python
python hough变换检测直线的实现方法
Jul 12 Python
Django使用 Bootstrap 样式修改书籍列表过程解析
Aug 09 Python
如何查看Django ORM执行的SQL语句的实现
Apr 20 Python
python3判断IP地址的方法
Mar 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采集利器 Snoopy 试用心得
2011/07/03 PHP
php Calender(日历)代码分享
2014/01/03 PHP
PHP 面向对象程序设计(oop)学习笔记(三) - 单例模式和工厂模式
2014/06/12 PHP
Yii使用DeleteAll连表删除出现报错问题的解决方法
2016/07/14 PHP
PHP正则匹配反斜杠'\'和美元'$'的方法
2017/02/08 PHP
gearman中任务的优先级和返回状态实例分析
2020/02/27 PHP
短信提示使用 特效
2007/01/19 Javascript
Extjs 继承Ext.data.Store不起作用原因分析及解决
2013/04/15 Javascript
理解Javascript的动态语言特性
2015/06/17 Javascript
javascript仿百度输入框提示自动下拉补全
2016/01/07 Javascript
Js+Ajax,Get和Post在使用上的区别小结
2016/06/08 Javascript
微信jssdk用法汇总
2016/07/16 Javascript
Js调用Java方法并互相传参的简单实例
2016/08/11 Javascript
JS 获取HTML标签内的子节点的方法
2016/09/21 Javascript
JS中Array数组学习总结
2017/01/18 Javascript
Vue中的slot使用插槽分发内容的方法
2018/03/01 Javascript
Vuex 使用及简单实例(计数器)
2018/08/29 Javascript
JavaScript实现简单的隐藏式侧边栏功能示例
2018/08/31 Javascript
angular4应用中输入的最小值和最大值的方法
2019/05/17 Javascript
layer弹出层扩展主题的方法
2019/09/11 Javascript
layer弹窗在键盘按回车将反复刷新的实现方法
2019/09/25 Javascript
基于Python实现通过微信搜索功能查看谁把你删除了
2016/01/27 Python
Django实现登录随机验证码的示例代码
2018/06/20 Python
Python Django Vue 项目创建过程详解
2019/07/29 Python
webView加载html图片遇到的问题解决
2019/10/08 HTML / CSS
意大利单身交友网站:Meetic
2020/07/12 全球购物
一家外企的面试题目(C/C++面试题,C语言面试题)
2014/03/24 面试题
商场拾金不昧表扬信
2014/01/13 职场文书
《学棋》教后反思
2014/04/14 职场文书
中学生英语演讲稿
2014/04/26 职场文书
媒矿安全生产承诺书
2014/05/23 职场文书
2015年音乐教学工作总结
2015/07/22 职场文书
2016公务员年度考核评语
2015/12/01 职场文书
2016年党员承诺书范文
2016/03/24 职场文书
MySQL系列之一 MariaDB-server安装
2021/07/02 MySQL
Python中的程序流程控制语句
2022/02/24 Python