django 接口文档自动生成

  1. Django REST Framework + drf-spectacular

    drf-spectacular 是另一个用于DRF的工具,用于生成符合OpenAPI 3.0规范的API文档。它提供了更好的兼容性和定制性。

    安装与配置

    pip install djangorestframework drf-spectacular
    

    settings.py中配置:

    INSTALLED_APPS = [ ... 'rest_framework', 'drf_spectacular', ... ] 
    REST_FRAMEWORK = { 'DEFAULT_SCHEMA_CLASS': 'drf_spectacular.openapi.AutoSchema', }
    

    urls.py中添加路由:

    from drf_spectacular.views import SpectacularAPIView, SpectacularSwaggerView urlpatterns = [ ... path('schema/', SpectacularAPIView.as_view(), name='schema'), path('schema/swagger-ui/', SpectacularSwaggerView.as_view(url_name='schema'), name='swagger-ui'), ... ]
    

### Django项目中使用Swagger生成API文档 #### 安装必要的依赖包 为了在Django项目中集成Swagger并生成API文档,首先需要安装`drf-yasg2`这个第三方库。通过pip命令来完成安装操作[^2]。 ```bash pip install drf-yasg2 ``` #### 修改项目的设置文件 接着,在Django项目的settings.py文件中的`INSTALLED_APPS`列表里加入`'drf_yasg2'`项,这一步骤是为了让Django识别该应用程序作为项目的一部分。 ```python INSTALLED_APPS = [ ... 'rest_framework', 'drf_yasg2', # 自动化生成接口文档所需的应用程序 ... ] ``` #### 配置URL路由 随后,需调整urls.py以包含Swagger UI视图以及开放API端点。具体做法是在根目录下的urls.py内添加如下代码片段: ```python from django.urls import path, include from rest_framework import permissions from drf_yasg.views import get_schema_view from drf_yasg import openapi schema_view = get_schema_view( openapi.Info( title="Snippets API", default_version='v1', description="Test description", terms_of_service="https://www.google.com/policies/terms/", contact=openapi.Contact(email="contact@snippets.local"), license=openapi.License(name="BSD License"), ), public=True, permission_classes=(permissions.AllowAny,), ) urlpatterns = [ ... path('swagger/', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'), path('redoc/', schema_view.with_ui('redoc', cache_timeout=0), name='schema-redoc'), ... ] ``` 这段配置定义了一个交互式的Swagger界面访问路径(/swagger/),同时也提供了Redoc样式的API文档页面(/redoc/)供选择查看。 #### 使用效果展示 一旦上述步骤全部完成后,启动服务器并通过浏览器访问指定地址即可看到由Swagger渲染出来的美观且易于使用的API文档界面。此界面对于理解现有API的功能及其参数有着极大的帮助作用,并支持在线测试各个HTTP请求方法[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值