如何使用AJAX成功函数在Django中显示一个formset?

时间:2017-04-02 12:53:33

标签: jquery ajax django django-templates formset

例如,如果我有以下Ajax请求:

$.ajax({
        type: "POST",
        url: url,
        traditional : true,
        data: { csrfmiddlewaretoken: $('input[name=csrfmiddlewaretoken]').val(),
                data: data,
         },

    success: function(data){
        var html_text =` <div>
            {% for form in formset %}
                {{form.as_p}}
            {% endfor %}
            </div> `
        $("#formset-div").append(html_text);

        }
    });

执行Ajax 成功功能

后,我总是在div中找到文本

如何使用由Ajax请求执行的python函数创建的已创建数据来显示表单集?

1 个答案:

答案 0 :(得分:1)

模板代码不属于Ajax函数。除了其他任何东西,该代码(可能)是在外部JS函数中,它不被解析为Django模板;同样重要的是,它无法访问更新的POST中的任何上下文。

你应该做的是获取Ajax调用的Django视图来渲染模板并返回它;然后,成功函数只需要插入生成的HTML。