我正在尝试使用标头:X-HTTP-Method-Override: PATCH
(如Tastypie Docs中所述,只在那里搜索X-HTTP-Method-Override
),以便我可以模拟PATCH
(在heroku中使用tastypie时不支持heroku。
我正在尝试这个卷曲请求
curl --dump-header - -H "Content-Type: application/json" -H "X-HTTP-Method-Override: PATCH" -H "Authorization: ApiKey admin:TheApiKey" -X POST --data '{"token": "test1234"}' http://staging.myserver.com/api/v1/devices/449/
在本地它的效果非常好,但是当我在我的heroku托管的应用程序上尝试它时,我得到:
HTTP/1.1 501 NOT IMPLEMENTED
Content-Type: text/html; charset=utf-8
Date: Fri, 25 Jan 2013 17:45:11 GMT
Server: gunicorn/0.15.0
Content-Length: 0
Connection: keep-alive
这可能是什么问题?
答案 0 :(得分:1)
501错误与Heroku无关。
我相信这是您资源的设置。
有很多关于TastyPie的问题,我会参考文档中的以下一行:
“要使PATCH正常工作,您必须输入detail_allowed_methods设置。”
即
detail_allowed_methods = ['get','post','put','delete','patch']