【问题标题】:Django with jQuery/datatable带有 jQ​​uery/数据表的 Django
【发布时间】:2021-05-08 06:53:25
【问题描述】:

我被分配了一项任务,要求我理解以下使用 jQuery 和数据表的 Python 代码:

req = request.GET
sort_col = req['columns[%s][data]' % req['order[0][column]']]
glob_search_val = req['search[value]']
if req['order[0][dir]'] != 'asc':

我是 jQuery 和数据表的新手。用法与访问普通 Python 列表/字典的方式完全不同。例如, order[0][column] 显然是一个变量,但它被引用,这意味着 Python 中的文字。括号中的列似乎是一个变量,它再次在引号内并且未初始化。在datables documentation 中,order 是一个通过索引访问的二维数组,如 order[0][0]。我对 columns[%s][data] 中的数据有类似的问题,columns[%s][data] 返回什么?

我在哪里可以找到有关 Django 中的列、顺序、搜索(和其他)参数如何工作的更多信息?

【问题讨论】:

    标签: jquery django django-rest-framework datatables


    【解决方案1】:

    您引用的那些参数名称(排序、列、搜索)只是 request.GET QueryDict 中的键。对于 GET 请求中的这些参数名称,Django 没有任何内在的东西(即,在 Django 中,这些参数键名称不会发生任何神奇的事情)。

    %s%s 是旧式python string formatting 的一部分,因此%s 将替换为req['order[0][column]] 中的任何内容,然后将排序列字段名称存储在sort_col 中。

    就 Django 中的实际过滤/搜索/排序等而言,这是通过Django QuerySet API.大概您将排序/排序/搜索存储在数据库中并在您的数据表中显示的任何模型中定义的对象列表,例如FooModel.objects.filter(some_field=search_val).order_by(sort_col)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-20
      • 2016-12-24
      相关资源
      最近更新 更多