python - 如何在 Django 中处理来自 DataTables Editor 的数据?
问题描述
我正在尝试在 Django 视图中处理通过 DataTables Editor 插件发送的数据。
收到的 request.POST 看起来像:
{'action': 'edit',
'data[3115][row1]': 'value1',
'data[3115][row2]': 'value2',
'data[3115][row3]': 'value3',
'data[3115][row4]': 'value4',
'data[3115][row5]': 'value5'}
其中 3115 是我的模型的主键。
在 Django 视图中,从 POST 数据中获取PK
和model.row1
, model.row2
, model.row3
,... 值的预期方法是什么?
所需的输出将类似于
result = {
'pk': 3115,
'row1': 'value1',
'row2': 'value2',
'row3': 'value3',
'row4': 'value4',
'row5': 'value5'
}
解决方案
你可以试试这个:
import re
a = {'action': 'edit',
'data[3115][row1]': 'value1',
'data[3115][row2]': 'value2',
'data[3115][row3]': 'value3',
'data[3115][row4]': 'value4',
'data[3115][row5]': 'value5'}
d = {} # your desired result
for k,v in a.items():
if k.startswith('data'):
r = re.match('data\[(\d+)\]\[(\w+\d+)\]$', k)
if r:
d['pk'] = r.groups()[0]
d[r.groups()[1]] = v
将d
是:
{'pk': '3115',
'row1': 'value1',
'row2': 'value2',
'row3': 'value3',
'row4': 'value4',
'row5': 'value5'}
推荐阅读
- css - 如何正确设置@media?
- c# - 嵌套属性上的 PagingList 排序
- javascript - AnyChart - 未显示旭日形图的图例(树数据)
- c# - Xamarin 表单 - 如何禁用 MasterDetailPage 菜单按钮
- laravel - Laravel simplePaginate() 用于分组数据
- ios - 如何正确设置 CABasicAnimation(开始)时间?
- apache-spark - 如何在火花流上对来自 kafka 的流数据进行 JOIN
- amazon-web-services - 在 AWS Connect 中从 Lambda 获取用户输入
- sublimetext3 - 我可以将文本选择传递给 Sublime 的构建系统的参数吗?
- vba - 在 VBA 中替换正则表达式 sith 上标