使用JavaScript獲取Django模板指定鍵值數(shù)據(jù)
Django中利用js來操作數(shù)據(jù)的常規(guī)操作一般為點(.)操作符來獲取字典或列表的數(shù)據(jù),一般如{{data.0}},{{data.arg}}
但有時如果數(shù)據(jù)是嵌套類型的數(shù)據(jù)時,直接獲取某個值就變得困難了,比如下面的格式要獲取
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} }
這時候如果改變數(shù)據(jù)格式為列表中的無嵌套字典格式比較麻煩,可以自定義過濾器來獲取數(shù)據(jù),
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']
在模板中就可以以這樣寫
<!-- 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("{{i}}"=="{{j}}") { if(Number({{warningdata|getArgQxlValue:j}})>Number({{guestSetArgs|getArgQxlValue:i}})) var setArgStr="{{warningdata|getArgName:i}} 超出閥值 閥值:{{guestSetArgs|getArgQxlValue:j}} 檢測值:{{warningdata|getArgQxlValue:j}}<br>" document.write(setArgStr); } {% endfor %} {% endfor %} </script> </body> </html>
形如{{warningdata|getArgQxlValue:j}},就可以獲取到里面的值了
稍做美化
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 解決django無法訪問本地static文件(js,css,img)網(wǎng)頁里js,cs都加載不了
- django執(zhí)行數(shù)據(jù)庫查詢之后實現(xiàn)返回的結(jié)果集轉(zhuǎn)json
- Django ValuesQuerySet轉(zhuǎn)json方式
- Django接收post前端返回的json格式數(shù)據(jù)代碼實現(xiàn)
- Django 通過JS實現(xiàn)ajax過程詳解
- Django objects的查詢結(jié)果轉(zhuǎn)化為json的三種方式的方法
- django+js+ajax實現(xiàn)刷新頁面的方法
- Django返回json數(shù)據(jù)用法示例
- django通過ajax發(fā)起請求返回JSON格式數(shù)據(jù)的方法
相關(guān)文章
詳解webpack之scss和postcss-loader的配置
本篇文章主要介紹了詳解webpack之scss和postcss-loader的配置,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-01-01js 獲取、清空input type="file"的值(示例代碼)
本篇文章主要介紹了js 獲取、清空input type="file"的值(示例代碼) 需要的朋友可以過來參考下,希望對大家有所幫助2013-12-12for循環(huán) + setTimeout 結(jié)合一些示例(前端面試題)
最近在學(xué)習(xí)node.js開發(fā)資料,正好碰到了for循環(huán)+settimeout的經(jīng)典例子,下面小編給大家分享for循環(huán) + setTimeout 結(jié)合一些示例代碼,需要的朋友參考下吧2017-08-08js字母大小寫轉(zhuǎn)換實現(xiàn)方法總結(jié)
本文是對js中字母大小寫轉(zhuǎn)換的實現(xiàn)方法進行了總結(jié)介紹,需要的朋友可以過來參考下,希望對大家有所幫助2013-11-11