Python 方法“;邮政「;不准
我正在用Django REST框架开发REST API 我定义了自定义详细路线,如:Python 方法“;邮政「;不准,python,django,post,django-rest-framework,Python,Django,Post,Django Rest Framework,我正在用Django REST框架开发REST API 我定义了自定义详细路线,如: from __future__ import absolute_import, division, print_function, unicode_literals class PermissionsMixin(object): @detail_route(methods=[u'get', u'post'], url_path='permissions') def detail_permiss
from __future__ import absolute_import, division, print_function, unicode_literals
class PermissionsMixin(object):
@detail_route(methods=[u'get', u'post'], url_path='permissions')
def detail_permissions(self, request, pk=None):
...
我也尝试过['get','post']
,但结果是一样的
和测试:
from __future__ import absolute_import, division, print_function, unicode_literals
class ProjectAPITestCase(APITestCase):
def setUp(self):
super(ProjectAPITestCase, self).setUp()
self.factory = APIRequestFactory()
self.detail_view = self.viewset.as_view({
'get': 'retrieve',
'put': 'update',
'patch': 'partial_update',
'delete': 'destroy',
})
self.resource_name = 'project'
self.detail_permissions = lambda pk: reverse('api:{}-permissions'.format(self.resource_name),
kwargs={'pk': pk})
def _detail_permissions(self, pk, data={}, user=None):
request = self.factory.post(self.detail_permissions(pk), data=data, format='json')
if user:
force_authenticate(request, user)
resp = self.detail_view(request, pk=pk)
print(resp.data)
resp.render()
return resp
def test_permissions(self):
resp = self._detail_permissions(1, {}, self.user1)
...
当我运行测试时,print
,然后呈现响应返回:
{u'detail': u'Method "POST" not allowed.'}
我将问题追溯到,其中request.method.lower()
是post
和self.http\u方法名称是[u'get',u'post',u'put',u'patch',u'delete',u'head',u'options',u'trace']
我正在使用Python 2.7.9运行应用程序
我做错了什么?我怎样才能解决这个问题
谢谢 更改此代码(将post方法添加到类似的代码中)
更改此代码(将post方法添加到类似的代码中)
更改此代码(将post方法添加到类似的代码中)
更改此代码(将post方法添加到类似的代码中)
谢谢这解决了我的问题。要添加的正确内容是'post':'detail\u permissions'
。有没有办法将更多功能链接到post请求(取决于url)?谢谢!这解决了我的问题。要添加的正确内容是'post':'detail\u permissions'
。有没有办法将更多功能链接到post请求(取决于url)?谢谢!这解决了我的问题。要添加的正确内容是'post':'detail\u permissions'
。有没有办法将更多功能链接到post请求(取决于url)?谢谢!这解决了我的问题。要添加的正确内容是'post':'detail\u permissions'
。有没有办法将更多函数链接到post请求(取决于url)?
self.detail_view = self.viewset.as_view({
'get': 'retrieve',
'put': 'update',
'patch': 'partial_update',
'delete': 'destroy',
'post': 'create'
})