全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

对比分析Django的Q查询及AngularJS的Datatables分页插件

使用Q查询,首先要导入Q模块:

from django.db.models import Q

可以组合使用&,|操作符用于多个Q的对象,产生一个新的Q对象,Q对象也可以用~操作符放在前面表示否定,如下例所示:

if search:
   keywords_list = search.split(' ')
   query_list = [Q(status__icontains=get_success_fail_status(keyword)) if get_success_fail_keyword_status(keyword) else
       Q(username__icontains=keyword) |
       Q(groupid__icontains=keyword) |
       Q(status_active_vs__icontains=keyword) |
       Q(orders_created_time__icontains=keyword) |
       Q(status_bind__icontains=keyword) |
       Q(status_active_Bind__icontains=keyword) |
       Q(env__icontains=keyword) for keyword in keywords_list]
   q = Q()
   for query in query_list:
    q.add(query, Q.AND) #把query添加到之前定义的最外层的Q对象中,查询条件是 '和'

其中Q查询里面的 __icontains 表示包含的关系,用于模糊查询,如:

Q(username__icontains=keyword) | Q(groupid__icontains=keyword) 表示查询 username或者 groupid

再谈谈AngularJS的Datatables分页插件:

Datatables的主要功能是分页、即时搜索和排序,虽然django自带的模板引擎也有分页功能(Paginator),但无论从功能上还是美观上,Datatables都更好。

Datatables的效果如下图所示:

下面讲一下Datatables的DTOptionsBuilder方法:

DTOptionsBuilder.newOptions是AngularJS的datatables的一个重要的方法,.newOptions用于实现前后端分页,

DTOptionsBuilder.newOptions()
 .withOption('ajax', {
  url: "/api/other/get_http_https_apply/",
  type: 'GET'
 })
 .withDataProp('data')
 .withOption('serverSide', true)
 .withPaginationType('full_numbers')
 .withOption('createdRow', createdRow)
 .withOption('order', [
  [0, 'desc']
 ]);

'serverSide', true 表示开启服务器模式,

ajax表示数据的来源(包括处理分页,排序,过滤),

full_numbers表示所有的数据,

http_https.dtColumns = [
  DTColumnBuilder.newColumn('id').withTitle('ID'),
  DTColumnBuilder.newColumn('username').withTitle('申请人'),
  DTColumnBuilder.newColumn('env').withTitle('环境'),
  DTColumnBuilder.newColumn('groupid').withTitle('group_id'),
  DTColumnBuilder.newColumn('status_active_vs').withTitle('激活vs').renderWith(apply_status),
  DTColumnBuilder.newColumn('status_bind').withTitle('绑定').renderWith(apply_status),
  DTColumnBuilder.newColumn('status_active_Bind').withTitle('激活绑定').renderWith(apply_status),
  DTColumnBuilder.newColumn('status').withTitle('最终结果').renderWith(apply_status),
  DTColumnBuilder.newColumn('orders_created_time').withTitle('时间')
 ];
 //判断是否是admin用户,如果是admin,则在http_https.dtColumns这个数组中增加(push)一个元素
 if (http_https.js_admin) {
  http_https.dtColumns.push(DTColumnBuilder.newColumn(null).renderWith(actionsHtml).withTitle('Actions'))
 }

DTColumnBuilder.newColumn表示新增表格的列

.renderWith对数据进行渲染  这里apply_status是我自己写的一个函数,用于转换json中True和False对应的html中的“成功、失败”

部分详情代码请见我的github:https://github.com/a342058040/Django_AngularJS_Datatables.git

以上所述是小编给大家介绍的对比分析Django的Q查询及AngularJS的Datatables分页插件,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# django  # angularjs  # django实现分页的方法  # Django实现快速分页的方法实例  # Django自定义分页与bootstrap分页结合  # Django原生sql也能使用Paginator分页的示例代码  # Django自定义分页效果  # Django的分页器实例(paginator)  # Django rest framework实现分页的示例  # Django分页查询并返回jsons数据(中文乱码解决方法)  # 在django中使用自定义标签实现分页功能  # django之session与分页(实例讲解)  # Django框架实现分页显示内容的方法详解  # 分页  # 所示  # 绑定  # 小编  # 也有  # 放在  # 多个  # 在此  # 可以用  # 给大家  # 一个重要  # 自带  # 则在  # 主要功能  # 所述  # 给我留言  # 感谢大家  # 如下图  # 再谈  # 请见 


相关文章: 高防服务器租用如何选择配置与防御等级?  ,怎么在广州志愿者网站注册?  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  如何通过西部数码建站助手快速创建专业网站?  高防服务器:AI智能防御DDoS攻击与数据安全保障  Python多线程使用规范_线程安全解析【教程】  网站制作的步骤包括,正确网址格式怎么写?  如何快速搭建高效简练网站?  单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?  如何解决ASP生成WAP建站中文乱码问题?  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  制作网页的网站有哪些,电脑上怎么做网页?  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  如何配置WinSCP新建站点的密钥验证步骤?  宁波自助建站系统如何快速打造专业企业网站?  网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?  建站主机功能解析:服务器选择与快速搭建指南  陕西网站制作公司有哪些,陕西凌云电器有限公司官网?  临沂网站制作公司有哪些,临沂第四中学官网?  如何在新浪SAE免费搭建个人博客?  建站之星各版本价格是多少?  网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?  如何在景安云服务器上绑定域名并配置虚拟主机?  济南网站建设制作公司,室内设计网站一般都有哪些功能?  广东专业制作网站有哪些,广东省能源集团有限公司官网?  如何快速配置高效服务器建站软件?  如何快速辨别茅台真假?关键步骤解析  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  网站制作培训多少钱一个月,网站优化seo培训课程有哪些?  建设网站制作价格,怎样建立自己的公司网站?  浅谈Javascript中的Label语句  如何通过宝塔面板实现本地网站访问?  Java解压缩zip - 解压缩多个文件或文件夹实例  宁波免费建站如何选择可靠模板与平台?  如何挑选最适合建站的高性能VPS主机?  建站VPS推荐:2025年高性能服务器配置指南  建站之星×万网:智能建站系统+自助建站平台一键生成  如何快速搭建高效WAP手机网站吸引移动用户?  外贸公司网站制作哪家好,maersk船公司官网?  网站制作话术技巧,网站推广做的好怎么话术?  如何制作算命网站,怎么注册算命网站?  上海网站制作网站建设公司,建筑电工证网上查询系统入口?  魔方云NAT建站如何实现端口转发?  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成  c# 在ASP.NET Core中管理和取消后台任务  如何在万网自助建站中设置域名及备案?  建站之星展会模版如何一键下载生成?  如何高效配置IIS服务器搭建网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。