gpt4 book ai didi

json - Django 没有发送正确的 json 响应

转载 作者:可可西里 更新时间:2023-11-01 17:16:25 26 4
gpt4 key购买 nike

我建立了一个简单的项目,当发出发布请求时,它会根据用户输入的值返回响应。

我正在 postman 中测试我的 api 逻辑。

目前,无论我输入什么值,都会发回相同的 json 响应。这不是预期的逻辑。

views.py:

def function(request):
if request.method == 'POST':
if request.POST.get("number") == 1:
print("Number is 1")
return JsonResponse({'message':'Number is 1'})
else:
print("Number is not 1")
return JsonResponse({'message':'Number is not 1'})

即使 number 的值等于 1,也会返回消息:Number is not 1,。

postman 请求:

{
"number": 1
}

谢谢。

最佳答案

来自docs :

If you need to access raw or non-form data posted in the request, access this through the HttpRequest.body attribute instead.

由于您发送的数据是“非表单”数据,因此您需要改用 request.body:

import json

def function(request):
if request.method == 'POST':
data = json.loads(request.body)
if data.get("number", 0) == 1:
print("Number is 1")
return JsonResponse({'message':'Number is 1'})
else:
print("Number is not 1")
return JsonResponse({'message':'Number is not 1'})

关于json - Django 没有发送正确的 json 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58253265/

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