我正在通过命令行 cURL 发出以下请求:
curl -X POST http://localhost:8000/api/places/ -vvvv -d "place[name]=Starbucks"
但是,当我尝试通过调用访问参数时
request.POST.getlist('place')
我得到一个空数组作为响应。我如何访问可以传递给 ORM 的子字典?
谢谢,
杰米
我正在通过命令行 cURL 发出以下请求:
curl -X POST http://localhost:8000/api/places/ -vvvv -d "place[name]=Starbucks"
但是,当我尝试通过调用访问参数时
request.POST.getlist('place')
我得到一个空数组作为响应。我如何访问可以传递给 ORM 的子字典?
谢谢,
杰米
HTTP 数据元素不能有子元素。您发布的数据(如 querydict 中所示)已被解释为具有键“place[name]”和值“Starbucks”的单个元素。所以你可以用request.POST["place[name]"]
.
看起来您正在发送一个字符串,在这种情况下尝试:
request.POST.get('place[name]')
如果您正在模拟下拉列表,则应发送“place=Starbucks”,但是如果您尝试发送数组,则应尝试将字符串转换为 python 脚本中的数组。
在您的命令中,您可以使用“-X POST”,因为参数 -d 已经是 HTTP POST:
curl --help
...
-d/--data <data> HTTP POST data (H)