REST框架API的模块化文档生成器
项目描述
Django REST Framework APIDoc
============================
用于更好地为Django REST framework提供文档系统的库。
此支持基于文件文档和RestructuredText或Textile等其他标记语言。
配置
-------------
在djangorestframework版本 <= 2.3.8中配置apidoc,您需要猴子补丁。
在第一个加载的模型模块中添加此行
.. code:: python
from rest_framework_apidoc.monkey import patch_api_view; patch_api_view()
然后您必须配置您的`REST_FRAMEWORK`设置中的`VIEW_DESCRIPTION_FUNCTION`
以使用rest_framework_apidoc版本
.. code:: python
REST_FRAMEWORK = {
...,
'VIEW_DESCRIPTION_FUNCTION': 'rest_framework_apidoc.apidoc.get_view_description',
...,
}
然后您可以为您的apidoc默认文档器类进行配置
.. code:: python
APIDOC_DEFAULT_DOCUMENTER_CLASSES = ['rest_framework_apidoc.apidoc.MDDocStringDocumenter']
默认值`APIDOC_DEFAULT_DOCUMENTER_CLASSES`是`['rest_framework_apidoc.apidoc.MDDocStringsDocumenter']`
如果使用基于文件的文档,您可以设置文档文件的路径
您可以通过添加属性`documenter_classes`来覆盖APIView的默认设置。
.. code:: python
APIDOC_DOCUMENTATION_PATH = "my-api-documentation"
默认值`APIDOC_DOCUMENTATION_PATH`是`apidoc`
APIDoc混入
-------------
文档器类由两种类型的混入组成,内容混入和处理混入。
内容混入获取文档文本,
该过程混合转换此文本为另一件事。
内容混合器
~~~~~~~~~~~~~~
* **FileContentMixin**: 从名为url_name +
类的扩展属性(如果存在)的文件中获取内容,并放置在
`APIDOC_DOCUMENTATION_PATH`。
* **DocStringContentMixin**: 从APIView文档字符串中获取内容。
过程混合器
~~~~~~~~~~~~~~
* **MarkupProcessMixin**: 使用django-markup根据标记类属性将内容转换为html。
。
* **NoProcessMixin**: 不做任何事情
* **SafeProcessMixin**: 将内容标记为安全。
文档器类
------------------
RSTFilesDocumenter
~~~~~~~~~~~~~~~~~~
由FileContentMixin和MarkupProcessMixin组成,扩展名=“.rst”,标记=“restructuredtext”
RSTDocStringsDocumenter
~~~~~~~~~~~~~~~~~~~~~~~
由DocStringContentMixin和MarkupProcessMixin组成,标记=“restructuredtext”
MDFilesDocumenter
~~~~~~~~~~~~~~~~~
由FileContentMixin和MarkupProcessMixin组成,扩展名=“.md”,标记=“markdown”
MDDocStringsDocumenter
~~~~~~~~~~~~~~~~~~~~~~
由DocStringContentMixin和MarkupProcessMixin组成,标记=“markdown”
TextileFilesDocumenter
~~~~~~~~~~~~~~~~~~~~~~
由FileContentMixin和MarkupProcessMixin组成,扩展名=“.textile”,标记=“textile”
TextileDocStringsDocumenter
~~~~~~~~~~~~~~~~~~~~~~~~~~~
由DocStringContentMixin和MarkupProcessMixin组成,标记=“textile”
TxtFilesDocumenter
~~~~~~~~~~~~~~~~~~
由FileContentMixin和NoProcessMixin组成,扩展名=“.txt”
TxtDocStringsDocumenter
~~~~~~~~~~~~~~~~~~~~~~~
由DocStringContentMixin和NoProcessMixin组成
HtmlFilesDocumenter
~~~~~~~~~~~~~~~~~~~
由FileContentMixin和SafeProcessMixin组成,扩展名=“.html”
HtmlDocStringsDocumenter
~~~~~~~~~~~~~~~~~~~~~~~~
由DocStringContentMixin和SafeProcessMixin组成
============================
用于更好地为Django REST framework提供文档系统的库。
此支持基于文件文档和RestructuredText或Textile等其他标记语言。
配置
-------------
在djangorestframework版本 <= 2.3.8中配置apidoc,您需要猴子补丁。
在第一个加载的模型模块中添加此行
.. code:: python
from rest_framework_apidoc.monkey import patch_api_view; patch_api_view()
然后您必须配置您的`REST_FRAMEWORK`设置中的`VIEW_DESCRIPTION_FUNCTION`
以使用rest_framework_apidoc版本
.. code:: python
REST_FRAMEWORK = {
...,
'VIEW_DESCRIPTION_FUNCTION': 'rest_framework_apidoc.apidoc.get_view_description',
...,
}
然后您可以为您的apidoc默认文档器类进行配置
.. code:: python
APIDOC_DEFAULT_DOCUMENTER_CLASSES = ['rest_framework_apidoc.apidoc.MDDocStringDocumenter']
默认值`APIDOC_DEFAULT_DOCUMENTER_CLASSES`是`['rest_framework_apidoc.apidoc.MDDocStringsDocumenter']`
如果使用基于文件的文档,您可以设置文档文件的路径
您可以通过添加属性`documenter_classes`来覆盖APIView的默认设置。
.. code:: python
APIDOC_DOCUMENTATION_PATH = "my-api-documentation"
默认值`APIDOC_DOCUMENTATION_PATH`是`apidoc`
APIDoc混入
-------------
文档器类由两种类型的混入组成,内容混入和处理混入。
内容混入获取文档文本,
该过程混合转换此文本为另一件事。
内容混合器
~~~~~~~~~~~~~~
* **FileContentMixin**: 从名为url_name +
类的扩展属性(如果存在)的文件中获取内容,并放置在
`APIDOC_DOCUMENTATION_PATH`。
* **DocStringContentMixin**: 从APIView文档字符串中获取内容。
过程混合器
~~~~~~~~~~~~~~
* **MarkupProcessMixin**: 使用django-markup根据标记类属性将内容转换为html。
。
* **NoProcessMixin**: 不做任何事情
* **SafeProcessMixin**: 将内容标记为安全。
文档器类
------------------
RSTFilesDocumenter
~~~~~~~~~~~~~~~~~~
由FileContentMixin和MarkupProcessMixin组成,扩展名=“.rst”,标记=“restructuredtext”
RSTDocStringsDocumenter
~~~~~~~~~~~~~~~~~~~~~~~
由DocStringContentMixin和MarkupProcessMixin组成,标记=“restructuredtext”
MDFilesDocumenter
~~~~~~~~~~~~~~~~~
由FileContentMixin和MarkupProcessMixin组成,扩展名=“.md”,标记=“markdown”
MDDocStringsDocumenter
~~~~~~~~~~~~~~~~~~~~~~
由DocStringContentMixin和MarkupProcessMixin组成,标记=“markdown”
TextileFilesDocumenter
~~~~~~~~~~~~~~~~~~~~~~
由FileContentMixin和MarkupProcessMixin组成,扩展名=“.textile”,标记=“textile”
TextileDocStringsDocumenter
~~~~~~~~~~~~~~~~~~~~~~~~~~~
由DocStringContentMixin和MarkupProcessMixin组成,标记=“textile”
TxtFilesDocumenter
~~~~~~~~~~~~~~~~~~
由FileContentMixin和NoProcessMixin组成,扩展名=“.txt”
TxtDocStringsDocumenter
~~~~~~~~~~~~~~~~~~~~~~~
由DocStringContentMixin和NoProcessMixin组成
HtmlFilesDocumenter
~~~~~~~~~~~~~~~~~~~
由FileContentMixin和SafeProcessMixin组成,扩展名=“.html”
HtmlDocStringsDocumenter
~~~~~~~~~~~~~~~~~~~~~~~~
由DocStringContentMixin和SafeProcessMixin组成