Django 从get请求解析或获取多个密钥字典数据

Django 从get请求解析或获取多个密钥字典数据,django,dictionary,get,datatables,Django,Dictionary,Get,Datatables,Datatables正在向Django发送以下查询字符串参数: action:remove data[1][DT_RowId]:1 data[1][volume]:5.0 data[1][coeff]:35 data[2][DT_RowId]:2 data[2][volume]:4.0 data[2][coeff]:50 我可以访问如下值: print request.GET['data[1][volume]'] 5.0 如何将密钥本身作为字典及其密

Datatables正在向Django发送以下查询字符串参数:

   action:remove
   data[1][DT_RowId]:1
   data[1][volume]:5.0
   data[1][coeff]:35
   data[2][DT_RowId]:2
   data[2][volume]:4.0
   data[2][coeff]:50
我可以访问如下值:

print request.GET['data[1][volume]']
5.0
如何将密钥本身作为字典及其密钥访问


例如,我希望以数据[1]['volume']的形式访问该值。此外,我需要访问密钥;e、 g.从数据[1]中获取1。

我认为您需要自己解析键,并将它们转换为字典。这可以使用python中的正则表达式模块快速完成

import re
pattern = re.compile("data\[(?P<key_one>.*?)\]\[(?P<key_two>.*?)\]")
match = pattern.match('data[1][volume]')
key_one = match.group('key_one')
key_two = match.group('key_two')
print(key_one) # Should print 1
print(key_two) # Should print volume
重新导入
pattern=re.compile(“数据\[(?P.*?\])\[(?P.*?\]))
match=pattern.match('data[1][volume]”)
key\u one=match.group('key\u one'))
key\u two=match.group('key\u two'))
打印(图例1)#应打印1
打印(键2)#应打印卷

请参阅its的Python文档以了解更多信息。

我认为您需要自己解析密钥并将其转换为字典。这可以使用python中的正则表达式模块快速完成

import re
pattern = re.compile("data\[(?P<key_one>.*?)\]\[(?P<key_two>.*?)\]")
match = pattern.match('data[1][volume]')
key_one = match.group('key_one')
key_two = match.group('key_two')
print(key_one) # Should print 1
print(key_two) # Should print volume
重新导入
pattern=re.compile(“数据\[(?P.*?\])\[(?P.*?\]))
match=pattern.match('data[1][volume]”)
key\u one=match.group('key\u one'))
key\u two=match.group('key\u two'))
打印(图例1)#应打印1
打印(键2)#应打印卷

有关详细信息,请参阅its的Python文档。

我担心这是唯一的方法。如果有人提出其他解决方案,我会坚持一段时间。谢谢我担心这是唯一的办法。如果有人提出其他解决方案,我会坚持一段时间。谢谢