我该如何在Django模板中填充JSON数据?
我需要从一个网址获取数据,网址长这样:
http://www.example.com/data?format=json
然后它的输出会像这样:
student_details: {
terms: {
subjects: {
assigments: {
id:11, name:"ass_1"
}
}
}
}
上面的内容不是有效的json,只是一个例子,用来展示json的样子。
我想知道,怎么在详细信息页面上最好地展示这些数据。
我的意思是,我需要为每一列都写代码,然后放一个占位符吗?还是说我应该只用一列,然后循环显示所有的行?
我该怎么做呢?
我还对如何显示嵌套的主题、术语分配等感到困惑。
如果有人能给我指个方向,那就太好了。
编辑:
Django会生成JSON。我需要的只是用jquery或html生成详细信息页面。我不想包含任何服务器端的渲染。这将是一个静态的html页面,但数据是从JSON中获取的。
2 个回答
0
如果我理解得没错,你想做的事情可能行不通,因为正如你所说的,你不想涉及任何服务器端的工作。Django的模板渲染是在服务器上进行的,而当jQuery获取到你用Django生成的JSON时,模板已经被渲染好,返回给客户端,并在浏览器中显示出来了。
我建议你找一个类似的模板解决方案,但要在客户端使用,比如underscore.js。你需要做的是定义一个HTML模板,用来填充JSON数据,然后在你的ajax调用成功后,把渲染好的结果插入到网页中。
2
JSON几乎可以看作是Python中的字典列表,所以在Django模板中遍历键值对并没有什么特别的要求。听起来你需要熟悉一下Django的模板语言,特别是{% for %}
这个标签:https://docs.djangoproject.com/en/1.10/ref/templates/builtins/#for