js提取指定网站内容(Django中利用js来操作数据的常规操作(图))
优采云 发布时间: 2021-10-28 13:23js提取指定网站内容(Django中利用js来操作数据的常规操作(图))
Django中使用js操作数据的一般操作一般是点(.)操作符来获取字典或列表的数据,如{{data.0}}、{{data.arg}}
但是有时候如果数据是嵌套类型的数据,直接获取某个值就变得很困难,比如下面的格式获取
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(dictionary,arg):
return dictionary[arg]['qxl']
@register.filter
def getArgKkxValue(dictionary,arg):
return dictionary[arg]['kkx']
@register.filter
def getArgName(dictionary,arg):
return dictionary[arg]['name']
你可以在模板中这样写
{% load staticfiles %}
超标信息
{{ guestSetArgs|safe }}
{{ warningdata|safe }}
{% for i in guestSetArgs %}
{% for j in warningdata %}
if("{{i}}"=="{{j}}")
{
if(Number({{warningdata|getArgQxlValue:j}})>Number({{guestSetArgs|getArgQxlValue:i}}))
var setArgStr="{{warningdata|getArgName:i}} 超出阀值 阀值:{{guestSetArgs|getArgQxlValue:j}} 检测值:{{warningdata|getArgQxlValue:j}}
"
document.write(setArgStr);
}
{% endfor %}
{% endfor %}
如{{warningdata|getArgQxlValue:j}},可以获取里面的值
稍微美化
相关文章