首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >django-tastypie和django-tastypie mongoengine补丁错误

django-tastypie和django-tastypie mongoengine补丁错误
EN

Stack Overflow用户
提问于 2015-04-16 17:08:31
回答 1查看 138关注 0票数 2

尝试通过python requests以及命令行cURL提交补丁请求,我将得到以下响应:

代码语言:javascript
复制
>>> r = requests.patch(url)
>>> r.text
u'{"error_message": "PATCH",
   "traceback": "Traceback (most recent call last):
File "/usr/local/Cellar/python/2.7.8_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tastypie/resources.py", line 201, in wrapper
    response = callback(request, *args, **kwargs)
File "/usr/local/Cellar/python/2.7.8_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tastypie/resources.py", line 441, in dispatch_detail
    return self.dispatch('detail', request, **kwargs)
File "/usr/local/Cellar/python/2.7.8_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django_tastypie_mongoengine-0.4.5-py2.7.egg/tastypie_mongoengine/resources.py", line 385, in dispatch
    assert request.method.lower() not in ('put', 'post', 'patch'), request.method
AssertionError: PATCH"}'
>>> r.request.method.lower()
'patch'
>>> 

不确定是否遗漏了什么,但是看起来修补程序方法在列表中,断言不应该触发。它甚至不足以验证“修补程序”是资源允许的方法,因为它是:

代码语言:javascript
复制
allowed_methods = ('get', 'post', 'patch')

更新: POST导致了同样的问题!这段代码在一到两周前运行良好,没有对其进行任何修改。最近唯一被改变的东西(OSX笔记本电脑)是最新一轮的操作系统补丁。我还注意到了我回复的这个github问题:https://github.com/wlanslovenija/django-tastypie-mongoengine/issues/91。不确定这是否是同一个问题(POST应该允许请求体,所以我不知道)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-23 14:10:03

结果,主要问题是POST和修补程序都需要在正文中传递一些数据,而其他数据则需要在URL参数中传递。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29681579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档