联系我们 - 广告服务
您的当前位置:官网首页 > 资讯 > 热评 >

JavaScript获取Django模板中指定键值的数据,使用渲染器

来源: 编辑: 时间:2019-08-13
导读: django中利用js来操作数据的常规操作一般为点操作符来获取字典获列表的数据,一般入{{data.0}},{{data.arg}}等但有时如果数据是嵌套类型的......

django中利用js来操作数据的常规操作一般为点操作符来获取字典获列表的数据,一般入{{data.0}},{{data.arg}}等

但有时如果数据是嵌套类型的数据时,直接获取某个值就变得困难了,比如下面的格式要获取

correct中qxl的值
startargsset={"correct":{"qxl":0,"kkx":0},"reliable":{"qxl":0,"kkx":0},"security":{"qxl":0,"kkx":0},"understand":{"qxl":0,"kkx":0},"entropy":{"qxl":0,"kkx":0},
"mature":{"qxl":0,"kkx":0},"active":{"qxl":0,"kkx":0},"service":{"qxl":0,"kkx":0},"file":{"qxl":0,"kkx":0},
"tech":{"qxl":0,"kkx":0},"property":{"qxl":0,"kkx":0},"organize":{"qxl":0,"kkx":0},"develop":{"qxl":0,"kkx":0},
"source":{"qxl":0,"kkx":0},"update":{"qxl":0,"kkx":0},"fix":{"qxl":0,"kkx":0},
"quality":{"qxl":0,"kkx":0},"meannum":{"qxl":0,"kkx":0},"variance":{"qxl":0,"kkx":0}
}

这时候如果改变数据格式为列表中的无嵌套字典格式比较麻烦,可以自定义渲染器来获取数据,

from django.template.defaulttags import register
@register.filter
def getargqxlvalue:
 return dictionary[arg]['qxl']
@register.filter
def getargkkxvalue:
 return dictionary[arg]['kkx']
@register.filter
def getargname:
 return dictionary[arg]['name']

在模板中就可以以这样写

 !-- the second important page of the project-- 
{% load staticfiles %}
 !doctype html 
 html 
 head 
 meta charset="utf-8" 
 title 超标信息 /title 
 script src="{% static 'js/a-mynewjs.js' %}" /script 
 /head 
 body 
 {{ guestsetargs|safe }} br br br 
 {{ warningdata|safe }} br br 
 script 
 {% for i in guestsetargs %}
 {% for j in warningdata %} 
 if
 if number)
 var setargstr="{{warningdata|getargname:i}} nbsp;超出阀值 nbsp; nbsp;阀值:{{guestsetargs|getargqxlvalue:j}} nbsp; nbsp;检测值:{{warningdata|getargqxlvalue:j}} br "
 document.write;
 {% endfor %} 
 {% endfor %} 
 /script 
 /body 
 /html 

形如{{warningdata|getargqxlvalue:j}},就可以获取到里面的值了

 

责任编辑:

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

网友评论:

在“\templets\demo\comments.htm”原来的内容全部删除,插入第三方评论代码,如果不需要评论功能,删除comments.html里面的内容即可
推荐使用友言、多说、畅言(需备案后使用)等社会化评论插件

Copyright © 2018 凯发网址娱乐凯发网址娱乐-凯发网娱乐下载-凯发网娱乐官方网站 All Rights Reserved Power by DedeCms
本站所有资讯来源于网络 如有侵权请联系QQ:9490489
Top