由于某种原因,我无法弄清楚为什么Django无法request.body
正确处理我的内容。
它以JSON格式发送,查看Network开发工具中的选项卡将其显示为请求有效负载:
{creator: "creatorname", content: "postcontent", date: "04/21/2019"}
这正是我希望将其发送到我的API的方式。
在Django中,我有一个接受此请求作为参数的视图,仅出于测试目的,应将其打印request.body["content"]
到控制台。
当然,什么都没有打印出来,但是当我打印时request.body我得到了:
b'{"creator":"creatorname","content":"postcontent","date":"04/21/2019"}'
所以我知道我确实有尸体被寄出。
我尝试过json = json.loads(request.body)
也无济于事。json设置该变量后打印也不会返回任何内容。
在Python 3.0至Python 3.5.x中,json.loads()
它将仅接受unicode字符串,因此你必须先解码request.body
(这是一个字节字符串),然后再将其传递给json.loads()
。
body_unicode = request.body.decode('utf-8')
body = json.loads(body_unicode)
content = body['content']
在Python 3.6中,json.loads()
接受bytes或bytearrays
。因此,你不需要解码request.body
(假设它以UTF-8,UTF-16或UTF-32编码)。
问题内容: 由于某种原因,我无法弄清楚为什么Django无法正确处理我的内容。 它以格式发送,查看开发工具中的选项卡将其显示为请求有效负载: 这正是我希望将其发送到我的API的方式。 在Django中,我有一个接受此请求作为参数的视图,仅出于测试目的,应将其打印到控制台。 当然,什么都没有打印出来,但是当我打印时我得到了: 所以我知道我 确实 有尸体被寄出。 我尝试也无济于事。设置该变量后打印也不
问题内容: 我已经在Java中生成了一个包含JSON对象的HTMLPost请求,并希望在PHP中对其进行解析。 并在服务器上 我猜这是因为JSON特殊字符已编码。 json_decode返回空响应 知道为什么吗? 问题答案: 实际上,您不是在发布实体,而是在发布具有单个值对json =(encoded json)的HTTP表单实体()。 代替 尝试
问题内容: 我有以下django模板(将http:// IP / admin / start /分配给一个名为view的假设视图): 是视图中引用的Django模型的。每当单击“开始”提交输入时,我都希望“开始”视图在返回渲染页面之前使用函数中的数据。如何将POST(在本例中为隐藏输入)中发布的信息收集到Python变量中? 问题答案: 另外,你的隐藏字段还需要一个可靠的名称,然后是一个值: 然后
问题内容: 我有一个带有几个视图的django应用程序,这些视图通过POST请求接受json对象。json对象是中等复杂的,具有几层嵌套,因此我正在使用json库解析raw_post_data,如下所示: 接下来,我要为这些视图编写测试。不幸的是,我不知道如何将json对象传递给客户端。这是我的代码的最简单的版本: 当我运行测试时,它失败并显示: 如何在Client.post方法中传递JSON对象
我试图在Angular中发出请求,我知道HTTP响应不是在JSON中,而是在文本中。但是,Angular似乎期待一个JSON响应,因为错误如下: SyntaxError:JSON中XMLHttpRequest.c的JSON.parse()位置0处的意外标记< 我认为足以使Angular expect得到非JSON响应。
问题内容: BaseHTTPServer模块中的BaseHTTPHandler似乎没有提供任何方便的方法来访问http请求参数。从路径解析GET参数和从请求正文解析POST参数的最佳方法是什么? 现在,我正在将它用于GET: 这适用于大多数情况,但是我想要更强大的功能,可以正确处理编码和类似空参数的情况。理想情况下,我想要的是小型独立的产品,而不是完整的Web框架。 问题答案: 您可以尝试使用We