gpt4 book ai didi

python - WSGIRequest 对象没有属性 PUT

转载 作者:行者123 更新时间:2023-11-28 18:23:35 28 4
gpt4 key购买 nike

我正在尝试使用 curl 的 put 请求向本地服务器发出 put 请求:

curl -X PUT -H "Content-Type: application/json" -d '{"connid":"12"}' "127.0.0.1:8000/api/kill"

我收到了同样的回复:

'WSGIRequest' object has no attribute 'PUT'

对于以下代码:

def kill(req):
conid = req.PUT['connid']
statusres = {}

if conid in state:
error[conid] = 'true'
statusres['status'] = 'ok'

else:
statusres['status'] = 'invalid connection Id : '+ conid
return JsonResponse(statusres)

我还在函数前使用了@csrf_exempt

最佳答案

你在这里误解了几件事。

当您发送表单编码数据时,无论是 POST 还是 PUT,在 Django 中您总是可以在 request.POST 中找到参数。所以您会在 request.POST['conid'] 中找到您的数据。

但是,您不是发送表单编码数据;您正在发送 JSON。您需要访问请求体,并将其传递给 json.loads 函数进行解码:

def kill(request):
data = json.loads(request.body)
conid = data['connid']

关于python - WSGIRequest 对象没有属性 PUT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43170838/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com