django ajax返回多个html和mount

问题描述 投票:0回答:1

由于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)
          }
        })
ajax django
1个回答
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)
          }
        })
© www.soinside.com 2019 - 2024. All rights reserved.