Django使用html元素渲染json响应

时间:2017-10-13 20:50:46

标签: javascript html django

我正在学习ajax。例如,我想要获取一些项目。由于json只包含类似dict的数据,我必须将它们渲染为复杂的html元素。

我正在考虑在哪里做渲染工作。如果在前端完成,使用javascript渲染这样复杂的html元素将是痛苦的。

所以我认为利用Django模板会更好。我需要的是使用html模板渲染它,并将整个html元素放入json中的字符串中,并返回json。因此,我的前端将轻松获取数据['元素']等渲染元素并将其附加到我的页面。

但是我不知道如何在Django中执行此操作,通常我会渲染一个html页面并直接返回它。但它如何渲染html元素并将其放入json? 或者有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

你可以做得很好。

让我们在your/html/url说你有一些东西可以返回渲染的django模板。

然后在你的javascript中,你需要做的只是

$.ajax({
    url: 'your/html/url',
    action: 'get',
    success: function(response) {
        $("#place-you-want-answer").html(response);
    }  
})'

那是因为所有django端点都返回一个HTML字符串。通常当您的浏览器点击它时,它会加载整个页面,但您也可以在javascript get-request中使用它。

如果您只是在学习,这是一个很好的方法。但如果这是一个长期项目,我会认真考虑使用javascript框架。它们使对象变得更加容易。例如,React非常好。