做项目的时候纠结了一下,找到django.http.request里面看了一下,发现199行写着:
def _load_post_and_files(self):
"""Populate self._post and self._files if the content-type is a form type"""
if self.method != 'POST':
self._post, self._files = QueryDict('', encoding=self._encoding), MultiValueDict()
return
这意味着只有POST才有request.POST这个表单信息。否则都是空的。。我只能自己hack了一下。。
为什么Django不打算处理PUT的表单信息呢?
我试了一下http://httpbin.org/put的接口,好像它就会处理。。。
难道PUT的表单不符合标准么?
Django
是基于页面表单处理的框架
Web
页面表单的form
只支持GET
和POST
:参考
只有POST
方法可以传递文件,所以Django
进行了那样的处理
PUT
方法一般用于RESTful
风格的接口中,Django
目前没有太好的支持