相关疑难解决方法(0)

在Django中获取请求正文作为字符串

我正在向一个Django服务器发送一个带有JSON主体的POST请求(相当标准).在服务器上我需要使用解码json.loads().

问题是我如何以字符串格式获取请求的主体?

我目前有以下代码:

body_data = {}
if request.META.get('CONTENT_TYPE', '').lower() == 'application/json' and len(request.body) > 0:
    try:
        body_data = json.loads(request.body)
    except Exception as e:
        return HttpResponseBadRequest(json.dumps({'error': 'Invalid request: {0}'.format(str(e))}), content_type="application/json")
Run Code Online (Sandbox Code Playgroud)

但是,这会产生错误the JSON object must be str, not 'bytes'.

如何应用正确的编码来检索请求的正文作为字符串?

python django

21
推荐指数
1
解决办法
2万
查看次数

标签 统计

django ×1

python ×1