【问题标题】:How to update a modelForm in Django with Ajax如何使用 Ajax 在 Django 中更新 modelForm
【发布时间】:2015-12-22 16:46:11
【问题描述】:

我想用 Ajax 更新一个模板。

我的问题是:

  • 我在表单的列表中选择了一个客户,然后在第二个列表中的同一页面上的另一个列表中只显示相应的数据
  • 此时,我无法使用客户端对应的协议更新我的模板

  • 在我看来,我尝试使用查询集创建一个列表(它有效) 但我无法使用新列表更新我的模板

  • 我检索了选定的客户端,但是当我使用 render_to_request 发布时 它不会更新模板
  • 是否有可能这样做?如何使用程序的 ajax 部分更新我的列表。

【问题讨论】:

    标签: ajax django


    【解决方案1】:

    你可以这样使用:

    (基于https://stackoverflow.com/a/21762215/5244995

    second_list.tmpl(模板)

    {% for value in corresponding_data %}
        <li>{{ value }} (replace with your own templating)</li>
    {% endfor %}
    

    views.py

    def update_second_list(request, ob_id):
        # (get the data here)
        return render('second_list.tmpl', {'corresponding_data': ...}
    

    主页上的JS脚本(使用jQuery)

    $.ajax({url:"", dataType:"text", success: function(html) {
        var newDoc = $.parseHTML(html, document, false); // false to prevent scripts from being parsed.
        var secondList = $(newDoc).filter(".secondList").add($(newDoc).find(".secondList"));
        $(".secondList").replaceWith(secondList); // only replace second list.
        // other processing
    }});
    

    【讨论】:

    • 您好,谢谢您的回答
    • 请你解释一下 $(newdoc).filter 行
    • var secondList = $(newdoc).filter(".secondList").add($(newdoc)).find(".secondList)); TOKEN ILLEGAL 你能帮帮我吗
    • @user1987916 我不小心引入了一个错误。见编辑。
    猜你喜欢
    • 2021-10-03
    • 1970-01-01
    • 2014-03-03
    • 2012-01-03
    • 2012-02-02
    • 2013-09-27
    • 2021-03-24
    • 1970-01-01
    • 2020-07-19
    相关资源
    最近更新 更多