Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django-tastypie和django-tastypie mongoengine修补程序错误_Python_Django_Tastypie_Mongoengine - Fatal编程技术网

Python django-tastypie和django-tastypie mongoengine修补程序错误

Python django-tastypie和django-tastypie mongoengine修补程序错误,python,django,tastypie,mongoengine,Python,Django,Tastypie,Mongoengine,试图通过pythonrequests以及命令行cURL提交补丁请求,我得到以下响应: >>> 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/Ve

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

>>> 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'
>>> 
不确定我是否遗漏了什么,但看起来补丁方法在列表中,断言不应该触发。它甚至不足以验证“补丁”是资源允许的方法,它是:

allowed_methods = ('get', 'post', 'patch')

更新:帖子导致了同样的问题!这段代码在一两周前的POST中运行良好,没有做任何更改。最近唯一改变的东西(OSX笔记本电脑)是最新一轮的操作系统补丁。我还注意到我回复的github问题:。不确定这是否是同一个问题(POST应该允许请求正文,所以我不知道)。

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

这为我指明了正确的方向。再详细一点,对问题的答案会有所帮助。