我该如何在Django模板中填充JSON数据?

0 投票
2 回答
1024 浏览
提问于 2025-04-17 16:59

我需要从一个网址获取数据,网址长这样:

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

撰写回答