我正在使用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为空。
可能是什么原因?
答案 0 :(得分:1)
似乎同构提取可能不会在request.POST
为空的情况下发挥关键作用,而是request.POST
似乎只是由表单数据而不是JSON数据填充。 Django REST Framework文档中的引用支持此内容:
它(request.data)支持REST框架的灵活请求解析,而不仅仅是支持表单数据
另外,请注意Malcom Tredinnick的建议:
如果你正在做基于REST的Web服务......你应该忽略request.POST
这是指DRF在幕后为您处理很多事情,例如序列化事物并分配给不同的变量,以及通过与纯Django等价物相互操作,您可能会得到奇怪的结果。