Python 如何描述DRF文档中的参数
我使用的是Django REST Framework v3.6内置的交互式文档Python 如何描述DRF文档中的参数,python,django,documentation,django-rest-framework,Python,Django,Documentation,Django Rest Framework,我使用的是Django REST Framework v3.6内置的交互式文档Django_REST_Framework。文档(不Django REST swagger) 基本上,我遵循并在我的URLset配置中使用以下内容: from rest_framework.documentation import include_docs_urls urlpatterns = [ url(r"^", include_docs_urls(title="My API")), ... ]
Django_REST_Framework。文档
(不Django REST swagger
)
基本上,我遵循并在我的URLset配置中使用以下内容:
from rest_framework.documentation import include_docs_urls
urlpatterns = [
url(r"^", include_docs_urls(title="My API")),
...
]
一切似乎都很正常,我得到了一个很好的交互式文档页面,但我有一个带有lookup\u field=“slug”
的ViewSet
,关于生成的文档,有一件事困扰着我:
我想从描述中得到一些有用的信息,比如“一个唯一的永久分配的字母数字ID”或者这些行中的一些东西,但是找不到这些数据来自的任何文档
有一个解决办法,但我真的不想。我想用漂亮的docstring声明我的类,并自动生成文档。我还发现了一个建议,将slug放在docstring中——这里是说明
,但它似乎不起作用——文本只是与标记格式的说明的其余部分一起出现
所以。。。我想知道两件事:
哦,我找到了。回答我自己的问题 DRF文档在这个问题上并不冗长(或者我错过了它所在的部分),但是它提到了,而且似乎这个类确实做了所有的内省工作。幸运的是,源代码结构良好,易于阅读 这些路径字段由方法生成(我通过跟踪执行路径找到它:
get\u schema
→ <代码>获取链接→ <代码>获取链接),我找到了描述属性
因此,在我的模型中,我指定了:
class MyResource(models.Model):
slug = models.CharField(unique=True, help_text=_("unique alphanumeric identifier"))
...
成功了 有一件重要的事情还没有解决。描述确实来自
help\u text
属性,但这还不够。我发现模式生成器依赖于属性来确定模型。所以,请记住,即使您不需要它,您也需要定义它。例如,如果使用APIView
这一半对我有用。它对对象主键没有影响。查看您提供的链接,它会根据使用的主键类型(在我的例子中是UUID)自动计算出描述。很遗憾,这只是一个空白。