同构提取和Django视图

时间:2017-08-02 07:55:41

标签: django django-rest-framework

我正在使用isomorphic fetch向Django视图发送POST请求。

body : "{"email":"admin@example.com","password":"11"}"
credentials : "same-origin"
headers :

Accept : "application/json"
Content-Type : "application/json"
X-CSRFToken : "mudIfipiyLUao2ZWwoEotFOUknYeVpZASNpQQ2IdadRVOe0a9n5tUqcKzwtrDuWX"
method : "POST"

当我将此请求发送到DRF视图时,我可以使用request.data读取数据。但是,当我向Django视图发送相同的数据时,request.POST为空。

可能是什么原因?

1 个答案:

答案 0 :(得分:1)

似乎同构提取可能不会在request.POST为空的情况下发挥关键作用,而是request.POST似乎只是由表单数据而不是JSON数据填充。 Django REST Framework文档中的引用支持此内容:

  

它(request.data)支持REST框架的灵活请求解析,而不仅仅是支持表单数据

另外,请注意Malcom Tredinnick的建议:

  

如果你正在做基于REST的Web服务......你应该忽略request.POST

这是指DRF在幕后为您处理很多事情,例如序列化事物并分配给不同的变量,以及通过与纯Django等价物相互操作,您可能会得到奇怪的结果。