使用django视图中的数据刷新/重绘jquery数据表

时间:2016-09-13 09:17:40

标签: django datatables

我使用jquery DataTables 1.10.0在表上显示一些数据。这是我加载数据的方式:

var layer_data = $("#layer_data").DataTable({
  "scrollX": true,
  "aaData":whole_array,
  "iDisplayLength": 10
});

其中whole_array是一个数组数组:

[Array[7], Array[7], Array[7]

每个数组都有不同的值:

 0:"<button id="1" class="btn btn-info btn-sm _edit_save_btn" style="margin-bottom:5px;width:68px; background-color:#a7a3a3;border-color:#a7a3a3">Edit</button></br><button id="fid__1" class="btn btn-info btn-sm _add_save_btn" data-toggle="modal" data-target="#add_geometry" data-fid="afghanistan_test.1" style="background-color:#a7a3a3; border-color:#a7a3a3;margin-bottom:5px;width:68px;">Geometry</button></br><button id="fid__cancel__1"  class="btn btn-info btn-sm _cancel_btn" style="margin-bottom:5px;width:68px; background-color:#a7a3a3;border-color:#a7a3a3">Cancel</button>"
 1:"Afghanistan"
 2:"Badakhshan"
 3:...

我想要做的是在按钮点击时重绘/刷新表格。我读过有ajax requests方法可以做到这一点,但我认为这不是我的情况,因为数据来自于在页面加载时初始化的django视图。

1 个答案:

答案 0 :(得分:1)

您希望使用类似JSONReponseMixin的内容,并让您的视图发送数据。

class MyView(JSONResponseMixin, AjaxResponseMixin , TemplateView):         
    def get_ajax(self, request, *args, **kwargs):
        data = ['Country', 'Country']
        return self.render_response(json.dumps(data))

当你从jquery ajax中查看它时,它只会发送回数据并生成html。

您也不能执行json并让视图返回仅包含表格的html并替换页面中的html。