美文网首页
django-8渲染json到模板

django-8渲染json到模板

作者: 幽谷听泉 | 来源:发表于2016-10-03 13:32 被阅读0次

把list或者dict传递给js,处理后展示到页面

  • 两种方式

    1.页面加载完成后,在页面上操作,在页面上通过 ajax ⽅法得到新的数据并显示在网页上,这种情况适用于动态加载⼀些内容
    2.直接在视图函数(views.py中的函数)渲染一个list或者dict和其他网页部分一起显示

    注意:当直接将list 或者dict传递给js时,网页内容会被转义,得到的格式会报错

#########示例如下:
#views.py
def test(request):
# return render(request,'learn/test.html',{'List':List})
List = ['caideyang','chengcheng','deyang']
return render(request,'learn/test.html',{'List':List})

<!-- test.html  -->
<script type="text/javascript">
    var List = {{ List }};
    alert(List);
</script>
Paste_Image.png

如上图:List列表被转义为[&#39;caideyang&#39;, &#39;chengcheng&#39;, &#39;deyang&#39;],控制台有报错

  • views.py中返回的函数中的值要⽤json.dumps()处理
  • 在⽹⻚上要加⼀个safe 过滤器
示例如下:
#views.py
def test(request):
    # return render(request,'learn/test.html',{'List':List})
    List = ['caideyang','chengcheng','deyang']
    Dict = {'name':'caideyang','age':28,'job':'worker'}
    return render(request,'learn/test.html',{'List':json.dumps(List),'Dict':json.dumps(Dict)})

<!-- test.html  -->
<script type="text/javascript">
    var List = {{ List|safe }};
    var Dict = {{ Dict|safe }};
</script>
Paste_Image.png
js处理List和Dict
#test.html
<!DOCTYPE html>
<html>
<head>
<title>django ajax</title>
<script src="http://apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script>
</head>
<body>
<div id="list"> 学习 </div>
<div id='dict'></div>

<script type="text/javascript">
//列表
var List = {{ List|safe }};
$('#list').prepend(List[0]);
$('#list').append(List[1]);
console.log('--- 遍历 List 方法 1 ---')
for(i in List){
console.log(i);// i为索引
}
console.log('--- 遍历 List 方法 2 ---')
for (var i = List.length - 1; i >= 0; i--) {

console.log(List[i]);
};
console.log('--- 同时遍历索引和内容---')
$.each(List, function(index, item){
console.log(index);
console.log(item);
});
// 字典
var Dict = {{ Dict|safe }};
console.log("--- 两种字典的取值方式 ---")
console.log(Dict['name']);
console.log(Dict.age);
console.log("--- 遍历字典 ---");
for(i in Dict) {
console.log(i + Dict[i]);//注意,此处 i 为键值
}
</script>
</body>
</html>
Paste_Image.png

相关文章

  • django-8渲染json到模板

    把list或者dict传递给js,处理后展示到页面 两种方式1.页面加载完成后,在页面上操作,在页面上通过 aja...

  • springboot项目目前设计的技术点

    maven依赖 gson格式化json使用 freemarker模板引擎渲染 common-langs工具包使用 ...

  • template模板

    下载template-web.js文件 1:制定一个模板渲染数据json1(该数据必须为json数据),然后再把模...

  • vsCode 快速生成vue模板

    vsCode 快速生成vue模板 ### 1、vsCode 快速生成vue模板 ```json /** * 到插件...

  • Flask jinja2模板

    Python Flask JIJIA2模板渲染 A.Flask渲染Jinja2模板和模板传参 如何渲染模板:Fla...

  • Python flask 学习笔记(二)

    模板引擎 模板渲染 变量 流程控制 1. 模板渲染 Jinja2 模板引擎 页面渲染流程 一个简单的例子: 2. ...

  • dot模板引擎

    基本模板 for 循环渲染 数组渲染 条件渲染

  • artTemplate 总结

    编写模板 渲染模板 简介语法 方法 template(id,data) 根据id渲染模板,内部会根据documen...

  • 小程序模拟调用本地json接口数据

    把准备好的json数据渲染到前端界面,模拟在这里加载本地json数据。效果如下,能看到界面渲染的数据。 1:新建一...

  • 小程序模拟调用本地json接口数据

    把准备好的json数据渲染到前端界面,模拟在这里加载本地json数据。效果如下,能看到界面渲染的数据。 1:新建一...

网友评论

      本文标题:django-8渲染json到模板

      本文链接:https://www.haomeiwen.com/subject/befjyttx.html