django ajax返回多个html和mount

时间:2018-03-05 19:03:04

标签: ajax django

由于bootstrap模态的限制,他们需要在一个位置之外:修复,我需要在ajax响应(项目列表及其模态)之后在django中返回2个单独的html片段

django中有没有办法返回2段重新生成的html?

目前我在ajax视图中返回了一段html:

return render(request, 'pages/results.html', context)

我搭载:

$.ajax({
          url: '/users/some_ajax_view/',
          data: {
            'filters': filters
          },
          success: function (data) {
            $('.ajax-block').html(data)
          }
        })

1 个答案:

答案 0 :(得分:0)

最好使用render_to_string()方法解决,然后通过JsonResponse发送多个html,然后安装在前端。

例如

在您看来

modals_html = render_to_string('components/modals.html', context)
quotes_html = render_to_string('components/list.html', context )
return JsonResponse({'list': list_html,
                         'modals': modals_html})

然后在前端坐骑:

$.ajax({
          url: '/users/some_ajax_view/',
          data: {
            'filters': filters
          },
          success: function (data) {
            $('#list').html(data.list)
            $('#modals').html(data.modals)
          }
        })