我正在尝试处理通过Django视图中的DataTables Editor插件发送的数据。
收到的请求。POST如下:
Taskkill /IM qemu-system-x86_64.exe /F /T
其中3115是我模型的主键。
在Django视图中从POST数据中获取{'action': 'edit',
'data[3115][row1]': 'value1',
'data[3115][row2]': 'value2',
'data[3115][row3]': 'value3',
'data[3115][row4]': 'value4',
'data[3115][row5]': 'value5'}
和PK
,model.row1
,model.row2
,...值的预期方法是什么?
所需的输出类似于
model.row3
答案 0 :(得分:0)
您可以尝试以下方法:
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'}