如何使用Ajax更新Django中的modelForm

时间:2015-09-24 22:53:54

标签: ajax django

我想用Ajax更新模板。

我的问题是:

  • 我在表单上的列表中选择一个客户端,并在第二个列表中的同一页面上的另一个列表中仅显示相应的数据
  • 目前,我无法使用与客户端对应的协议更新我的模板

  • 在我的视图中,我尝试使用查询集创建一个列表(它可以工作) 但我无法使用新列表

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

1 个答案:

答案 0 :(得分:0)

您可以使用以下内容:

(基于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
}});