Skip to main content
 首页 » 编程设计

php之如何访问 Django 中的 http 数组参数

2025年02月15日27xiaohuochai

场景 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

同样,如果我在没有 key 的情况下执行请求,例如

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']}> 

现在,问题是场景 2 工作得很好,但是,我如何让 场景 1 在 Django 中工作,以便我得到类似的东西。就像在 php 中,我如何得到一个关联数组,我会在 Django 中得到一个键值字典吗?

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

这可能吗?如果是,怎么办?

请您参考如下方法:

没有。 Querydict 不是那样工作的。

最接近的方法是将嵌套对象作为 JSON 发布并从 request.body 对其进行解码。