【问题标题】:Render JSON objects through Django template-tag通过 Django 模板标签呈现 JSON 对象
【发布时间】:2014-01-13 11:25:18
【问题描述】:

我通过模板中的 AJAX 收到 JSON 格式的 Django 对象字典。有没有可能通过 Django 模板标签来呈现这个字典?我可以从 jQuery 调用 Django 模板标签并将对象作为参数传递给它吗?

目前的解决方案是在jQuery中繁琐地构造html:

$.ajax({
    url: url,
    type: "POST",
    success: function(data) {
        var obj = $.parseJSON(data);
        $.each(obj, function() {
            data = this['fields'];

            post += "<p id='" + this['pk'] + "'>" + data['creator'] + data['created'] + data['body'];
            post += "depth: " + data['depth'];
            post += "<a name='" + this['pk'] + "' class='show_answers' href='" + show_url + "'>Show</a>";
            post += "<a name='" + this['pk'] + "' href='" + answer_url + "'>Answer</a></p>";
            post += "<div id='" + this['pk'] + "_div'></div>";
        });
        $('#' + div_id).html(post);
    },
    crossDomain: false
}); 

【问题讨论】:

    标签: javascript jquery python django json


    【解决方案1】:

    模板标签是服务器端的,所以不,您不能使用 django 的模板来处理 Ajax 请求的结果 - 至少不能直接使用。可能的解决方案:

    • 您最终可以编写一个视图来获取您的 json 数据并返回格式化的 html,但这会有点过重。

    • 如果 json 来自您自己的应用程序,您可以返回一个 html 片段而不是 json。

    • 1234563
    • 最后,如果您的应用程序对 ajax/json 内容很重,您可能需要使用一些 js 模板框架或类似 angular.js 的东西

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-27
      • 1970-01-01
      • 2010-09-20
      • 1970-01-01
      • 2013-04-22
      • 1970-01-01
      • 2019-04-01
      相关资源
      最近更新 更多