【问题标题】:How to access http array parameters in Django?如何在 Django 中访问 http 数组参数?
【发布时间】:2017-03-23 14:49:21
【问题描述】:

场景 1

以下是我的http请求参数

PHP 请求

localhost/test.php?cars['key_1']=Saab&cars['key_2']=Audi

如果我在 php 中执行 print_r($_GET),我会得到以下响应。

Array
(
    [cars] => Array
        (
            ['key_1'] => Saab
            ['key_2'] => Audi
        )

)

DJANGO 请求

localhost/test/?cars['key_1']=Saab&cars['key_2']=Audi

同时,在 Django 中,传递相同的参数,并执行 print(request.GET),我明白了

<QueryDict: {"cars['key_1']": ['Saab'], "cars['key_2']": ['Audi']}>

场景 2

再次,如果我在没有密钥的情况下执行请求,例如

PHP 请求

localhost/v2/test.php?cars[]=Saab&cars[]=Audi

Array
(
    [cars] => Array
        (
            [0] => Saab
            [1] => Audi
        )

)

DJANGO 请求

localhost/test/?cars=Saab&cars=Audi

<QueryDict: {'cars': ['Saab', 'Audi']}>

现在,问题是 scenario 2 工作正常,但是,我如何让 scenario 1 在 Django 中工作,这样我才能得到类似的东西。就像在 php 中我得到一个关联数组一样,我会在 Django 中得到一个键值字典吗?

<QueryDict: {'cars': {'key_1':'Saab', 'key_2':'Audi'}}>

有可能吗?如果有,怎么做?

【问题讨论】:

    标签: php python django httprequest


    【解决方案1】:

    没有。 Querydicts 不是这样工作的。

    最接近的方法是将嵌套对象发布为 JSON,然后从 request.body 解码。

    【讨论】:

      猜你喜欢
      • 2022-09-23
      • 2019-07-25
      • 2020-04-26
      • 1970-01-01
      • 2010-09-29
      • 2019-08-18
      • 1970-01-01
      • 1970-01-01
      • 2018-08-09
      相关资源
      最近更新 更多