Python &引用;http方法未绑定到视图";在drf_yasg中记录基于类的视图时

Python &引用;http方法未绑定到视图";在drf_yasg中记录基于类的视图时,python,django,django-rest-framework,drf-yasg,Python,Django,Django Rest Framework,Drf Yasg,之前,我记录了我基于函数的视图,如下所示: @swagger\u auto\u模式( 操作\u id='ChangePassword', 方法=['POST'], 请求\u body=ChangePasswordSerializer, 回应={ “200”:“空响应正文”, }) def更改_密码(请求): #代码在这里 然后,我们将视图切换到基于类,因此我只需将文档装饰器复制粘贴到post方法: class UserChangePasswordView(APIView): @大摇大摆的自动

之前,我记录了我基于函数的视图,如下所示:

@swagger\u auto\u模式(
操作\u id='ChangePassword',
方法=['POST'],
请求\u body=ChangePasswordSerializer,
回应={
“200”:“空响应正文”,
})
def更改_密码(请求):
#代码在这里
然后,我们将视图切换到基于类,因此我只需将文档装饰器复制粘贴到
post
方法:

class UserChangePasswordView(APIView):
@大摇大摆的自动模式(
操作\u id='ChangePassword',
方法=['POST'],
请求\u body=ChangePasswordSerializer,
回应={
“200”:“空响应正文”,
})
def post(自我,请求):
#代码在这里
但是,在运行此装饰程序时,引发了异常

文件“/usr/local/lib/python3.6/site packages/drf_yasg/utils.py”,第126行,在decorator中
断言所有(可用的\u方法中的mth用于\u方法中的mth),“http方法未绑定到视图”

发生了什么事?这个错误消息是什么意思?

事实证明,在decorator中以及通过应用decorator的方法的名称隐式指定视图的HTTP方法是无效的

解决方案是简单地从装饰器中删除
方法
键:

class UserChangePasswordView(APIView):
@大摇大摆的自动模式(
操作\u id='ChangePassword',
请求\u body=ChangePasswordSerializer,
回应={
“200”:“空响应正文”,
})
def post(自我,请求):
#代码在这里
请注意,其中提到了

method
methods
是互斥的,只有在修饰包含多个HTTP请求方法的视图方法时才必须出现


因此,如果您的
UserChangePasswordView.post()
处理了多个方法,那么
方法将是有效的。

谢谢!这是合理的,我不知道我是如何忽视这一点的。尽管如此,我仍然发现很难从错误消息中获得修复。@ThePadawan drf yasg是一个新的软件包,对于它的年龄来说,它是多么的美丽。你们可以提出新的问题,也许可以为它做出贡献,使它更具可读性。很高兴我帮了忙!谢谢你,我会努力的!嘿这里所说的图书馆的作者——刚才注意到了这个问题;将研究添加一个有用的断言,感谢您指出!