python - django post请求中的JSON解析错误
问题描述
我正在尝试通过 Django 中的 POST 请求发送数据
url = 'http://db-003:8013/v1/upgrade-ce'
payload = {
"cluster_name": cluster_name,
"cec_id": cec_id,
"new_version": new_version,
"cr_number": cr_number,
}
response = requests.post(url, data=payload)
在接收端发布方法:
cluster name = request.data.get('cluster_name')
接收端数据
<QueryDict: {'cluster_name': ['abcd'], 'cec_id': ['abc'], 'new_version': ['8.0.23'], 'cr_number': ['6587657']}>
获取的数据是一个列表,而不是单个字符串字符串。试过了json.dumps()
,但是在接收端,数据是空的。
我如何获得一个单独的字符串
解决方案
在标头和 json.dumps(payload) 中将 Content-Type 作为 application/json 发送应该可以工作。
url = 'http://db-003:8013/v1/upgrade-ce'
payload = {
"cluster_name": cluster_name,
"cec_id": cec_id,
"new_version": new_version,
"cr_number": cr_number,
}
headers = {'Content-Type': 'application/json'}
response = requests.post(url, data=json.dumps(payload), headers=headers)
推荐阅读
- python - 如何对没有 predict_proba 或 decision_function 的模型使用 CalibratedClassifierCV
- laravel - 发生异常。FormatException (FormatException: 意外字符 (在字符 1) ^ )
- java - 以下程序的输出将是什么?5.3f和5.3有什么区别
- prepared-statement - 在芭蕾舞女演员中准备好的陈述
- optimization - 如何提高z3的优化速度?
- vue.js - 在 Vue 模板中使用三元
- c# - 通过单击浏览器返回阻止用户进入支付网关
- javascript - 用 ObjectLoader 加载的三个.js 对象无法更改不透明度
- javascript - 更改背景跟随操作表单
- javascript - javascript - 如果日期仅由年和月组成,则将日期显示为不带“01”填充的字符串