Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.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 为@action、Django-REST框架中的每个方法都有一个特定的docstring_Python_Django_Django Rest Framework_Swagger - Fatal编程技术网

Python 为@action、Django-REST框架中的每个方法都有一个特定的docstring

Python 为@action、Django-REST框架中的每个方法都有一个特定的docstring,python,django,django-rest-framework,swagger,Python,Django,Django Rest Framework,Swagger,在Django REST框架中,在ViewSet中,我在几个方法上使用@action装饰器使用额外的路由操作。 我希望每个方法都有不同的docstring,但显然这不起作用。 有什么想法吗 @action(方法=['GET','POST','DELETE']) def追随者(自我、请求、玩家): 如果request.method==“GET”: """ 找到跟随该玩家的玩家 """ [...] elif request.method==“POST”: """ 跟着这个球员 """ [...] [

在Django REST框架中,在
ViewSet
中,我在几个方法上使用
@action
装饰器使用额外的路由操作。 我希望每个方法都有不同的docstring,但显然这不起作用。 有什么想法吗

@action(方法=['GET','POST','DELETE'])
def追随者(自我、请求、玩家):
如果request.method==“GET”:
"""
找到跟随该玩家的玩家
"""
[...]
elif request.method==“POST”:
"""
跟着这个球员
"""
[...]
[...]

使用Swagger生成的文档:

任何方法都可能只有一个docstring,因此通常有两个选项:

  • 您可以为
    followers
    方法定义一个docstring,并解释该方法如何根据该方法进行操作。如果您确信不同HTTP方法的业务逻辑不太复杂,则此选项适用

  • 为不同的请求类型定义不同的方法,以便它们可以有单独的docstring。这将使每个方法中的逻辑尽可能简单


  • 您还可以考虑返回一个对象,该对象具有表示HTTP方法的单独方法并相应地调用它们。

    如果用相同的URL(这里的追随者)定义几个<代码> @动作< /代码>,则只存在最后定义。它似乎覆盖了以前定义的函数。您可以使用不同的名称将它们定义为私有函数。