【问题标题】:Parse or get multiple key dictionary data from GET request从 GET 请求中解析或获取多个键字典数据
【发布时间】:2017-06-20 18:40:16
【问题描述】:

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

如何将密钥本身作为字典及其密钥访问?

例如,我想以 data[1]['volume'] 的形式访问该值。此外,我需要访问密钥;例如从 data[1] 中获取 1。

【问题讨论】:

    标签: django dictionary get datatables


    【解决方案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
    

    请参阅其regular expression library 的 Python 文档以了解更多信息。

    【讨论】:

    • 我担心这是唯一的方法。如果有人提出其他解决方案,我将持有一段时间。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2021-06-04
    • 1970-01-01
    • 1970-01-01
    • 2021-02-26
    • 2020-08-04
    • 2014-09-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多