欢迎访问宙启技术站
智能推送

drf_yasg.openapi:在DjangoRestFramework项目中生成中文接口文档的 实践

发布时间:2023-12-27 02:40:24

在DjangoRestFramework项目中生成中文接口文档的 实践包括以下几个步骤:

1. 安装 drf_yasg库:在项目的虚拟环境中,使用以下命令安装 drf_yasg库:

pip install drf_yasg

2. 配置Swagger设置:在项目的 settings.py 文件中添加以下配置:

INSTALLED_APPS = [
    ...
    'drf_yasg',
    ...
]

SWAGGER_SETTINGS = {
    'DEFAULT_INFO': 'api.views.api_info',  # 接口文档的基本信息
}

3. 创建接口文档视图:在项目的 views.py 文件中,创建一个视图函数来返回接口文档的基本信息,例如:

from drf_yasg import openapi
from drf_yasg.views import get_schema_view
from drf_yasg.inspectors import SwaggerAutoSchema

schema_view = get_schema_view(
    openapi.Info(
        title="接口文档",
        default_version='v1',
        description="这是一个接口文档示例",
    ),
    public=True,
    permission_classes=[permissions.AllowAny],
    generator_class=SwaggerAutoSchema,
)

4. 配置URL映射:在项目的 urls.py 文件中,添加如下URL映射以将接口文档的URL与视图函数进行绑定:

from django.urls import path
from .views import schema_view

urlpatterns = [
    ...  # 其他URL映射
    path('docs/', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'),
]

5. 运行项目并查看接口文档:使用以下命令启动Django项目:

python manage.py runserver

然后,在浏览器中访问http://127.0.0.1:8000/docs/即可查看生成的中文接口文档。

通过上述步骤,你可以很容易地在DjangoRestFramework项目中生成中文接口文档。在生成接口文档时,你可以根据实际需求添加更多的配置项,例如认证、权限控制等。

以下是一个简单的示例,展示了如何在DjangoRestFramework项目中生成中文接口文档:

# views.py
from drf_yasg import openapi
from drf_yasg.views import get_schema_view
from drf_yasg.inspectors import SwaggerAutoSchema

schema_view = get_schema_view(
    openapi.Info(
        title="接口文档",
        default_version='v1',
        description="这是一个接口文档示例",
    ),
    public=True,
    permission_classes=[permissions.AllowAny],
    generator_class=SwaggerAutoSchema,
)

# urls.py
from django.urls import path
from .views import schema_view

urlpatterns = [
    # 其他URL映射
    path('docs/', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'),
]

上述示例中,我们创建了一个标题为“接口文档”,版本号为“v1”的接口文档,并且添加了一个简单的描述。然后,将接口文档的URL映射到 schema_view 视图上。启动Django服务器后,你可以访问http://127.0.0.1:8000/docs/来查看生成的接口文档。