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中解析JSON并同时进行自定义编码处理实例
Feb 08 Python
python持久性管理pickle模块详细介绍
Feb 18 Python
用Python实现随机森林算法的示例
Aug 24 Python
python列表的增删改查实例代码
Jan 30 Python
Python基于递归算法实现的汉诺塔与Fibonacci数列示例
Apr 18 Python
python 实现在txt指定行追加文本的方法
Apr 29 Python
python3的输入方式及多组输入方法
Oct 17 Python
Python中函数参数匹配模型详解
Jun 09 Python
python实现最大子序和(分治+动态规划)
Jul 05 Python
在keras下实现多个模型的融合方式
May 23 Python
Windows下PyCharm配置Anaconda环境(超详细教程)
Jul 31 Python
2021年值得向Python开发者推荐的VS Code扩展插件
Jan 25 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实现登录搜狐广告获取广告联盟数据的方法【附demo源码】
2016/10/14 PHP
PHP Mysqli 常用代码集合
2016/11/12 PHP
thinkphp5 URL和路由的功能详解与实例
2017/12/26 PHP
List Information About the Binary Files Used by an Application
2007/06/11 Javascript
js cookies 常见网页木马挂马代码 24小时只加载一次
2009/04/13 Javascript
如何实现修改密码时密码框显示保存到cookie的密码
2013/12/10 Javascript
JS实现的左侧竖向滑动菜单效果代码
2015/10/19 Javascript
js判断某个字符出现的次数的简单实例
2016/06/03 Javascript
JS基础随笔(菜鸟必看篇)
2016/07/13 Javascript
nodejs开发——express路由与中间件
2017/03/24 NodeJs
JS使用插件cryptojs进行加密解密数据实例
2017/05/11 Javascript
vue、react等单页面项目应该这样子部署到服务器
2018/01/03 Javascript
详解vue引入子组件方法
2019/02/12 Javascript
从零搭一个自用的前端脚手架的方法步骤
2019/09/23 Javascript
javascript绘制简单钟表效果
2020/04/07 Javascript
完美解决vue 中多个echarts图表自适应的问题
2020/07/19 Javascript
开源Web应用框架Django图文教程
2017/03/09 Python
在Mac上删除自己安装的Python方法
2018/10/29 Python
Python3.0 实现决策树算法的流程
2019/08/08 Python
python判断变量是否为int、字符串、列表、元组、字典的方法详解
2020/02/13 Python
Python requests设置代理的方法步骤
2020/02/23 Python
HTML+CSS3+JS 实现的下拉菜单
2020/11/25 HTML / CSS
写一个函数返回1+2+3+…+n的值(假定结果不会超过长整型变量的范围)
2014/09/05 面试题
高职教师岗位职责
2013/12/24 职场文书
好邻里事迹材料
2014/01/16 职场文书
迟到早退检讨书
2014/02/10 职场文书
白血病捐款倡议书
2014/05/14 职场文书
群众路线班子对照检查材料
2014/09/25 职场文书
公司租房协议书
2014/10/14 职场文书
单位租房协议范本
2014/12/03 职场文书
鉴史问廉观后感
2015/06/10 职场文书
《神奇的鸟岛》教学反思
2016/02/22 职场文书
详解Vue router路由
2021/11/20 Vue.js
漫画「狩龙人拉格纳」公开TV动画预告图
2022/03/22 日漫
Python使用BeautifulSoup4修改网页内容
2022/05/20 Python
AndroidStudio图片压缩工具ImgCompressPlugin使用实例
2022/08/05 Java/Android