【问题标题】:How can I show a formset in Django with a AJAX success function?如何使用 AJAX 成功功能在 Django 中显示表单集?
【发布时间】:2023-03-27 03:27:01
【问题描述】:

例如,如果我有以下 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 success 函数后,我总是在 div 中得到文本

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

【问题讨论】:

    标签: jquery ajax django django-templates formset


    【解决方案1】:

    模板代码不属于 Ajax 函数。除此之外,该代码(大概)在一个不被解析为 Django 模板的外部 JS 函数中;而且,同样重要的是,它无法访问更新后的 POST 中的任何上下文。

    您应该做的是获取由 Ajax 调用的 Django 视图以呈现模板并返回该模板;那么success函数只需要插入生成的HTML。

    【讨论】:

      猜你喜欢
      • 2021-08-24
      • 1970-01-01
      • 1970-01-01
      • 2021-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多