如何使用 Ajax 在 Django 中更新 modelForm

Posted

技术标签:

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

我想用 Ajax 更新一个模板。

我的问题是:

我在表单的列表中选择了一个客户,然后在第二个列表中的同一页面上的另一个列表中只显示相应的数据

此时,我无法使用客户端对应的协议更新我的模板

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

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

【问题讨论】:

【参考方案1】:

你可以这样使用:

(基于https://***.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 我不小心引入了一个错误。见编辑。

以上是关于如何使用 Ajax 在 Django 中更新 modelForm的主要内容,如果未能解决你的问题,请参考以下文章

上传文件后,如何在 Django 中使用 AJAX 更新表(与 JavaScript 链接)?

在 Django 中使用 AJAX 更新数据库

如何在 django ajax 更新中返回 json 字典

Django 使用来自 Ajax 的成功数据更新模板 div

如何使用 AJAX 和 Django 从 SQL 数据库更新网站上的字段数据

如何在使用 AJAX、Django REST API 和 jQuery 以模式形式更新记录时显示外键字段名称而不是 ID