2009-02-01 60 views
9

我想弄清楚如何使用Django和Django的其余接口实现我的第一个RESTful接口。我在使用HTTP PUT请求时遇到问题。使用django-rest接口与http把

如何访问PUT请求的参数? 我以为他们会在request.POST数组中,因为在我的理解中,PUT有点类似于POST,但是这个数组总是空的。

我在做什么错?

感谢您的帮助

+0

我认为你已经尝试了request.PUT? – 2009-02-01 13:08:15

回答

13

request.POST处理表单编码的数据转换成一个字典,它才有意义,对网页浏览器表单提交。没有PUT的等价物,因为网页浏览器不是PUT格式;提交的数据可能有任何内容类型。您需要从request.raw_post_data中获取原始数据,可能需要检查内容类型,然后对其进行处理,但对您的应用程序有意义。

更多信息在this thread

3

,如果你在ResourceBase派遣算起来也有这样一行:

elif request_method == 'PUT': 
    load_put_and_files(request) 
    return target.update(request, *args, **kwargs) 

load_put_and_files让你准备request.PUT,其中y将request.method就是把数据,所以你不必担心这个...