Django接入drf_yasg2 API接口文档-完整操作(包含错误处理)
drf_yasg2的简介:
drf-yasg是Django RestFramework的一个扩展,使⽤drf_yasg2下载⾃动⽣成的api⽂档的json或yaml⽂件配置项。
drf_yasg2的安装:
pip install drf-yasg2
drf_yasg2的settings.py 注册:
INSTALLED_APPS = [
......
'drf_yasg2', # 注册drf_yasg2 api接口drf_yasg2
]
drf_yasg2的主路由urls.py 注册:
# ######drf_yasg2的注册(开始)######
from rest_framework import permissions
from drf_yasg2.views import get_schema_view
from drf_yasg2 import openapi
schema_view = get_schema_view(
openapi.Info(
title="Python API",
default_version='v1',
description="Welcome to the world of Tweet",
),
public=True,
permission_classes=(permissions.AllowAny,),
)
# ######drf_yasg2的注册(结束)######
urlpatterns = [
# drf_yasg2的url注册
re_path(r'^doc(?P<format>\.json|\.yaml)$', schema_view.without_ui(cache_timeout=0), name='schema-json'),
# drf_yasg2导出
path('doc/', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'), # drf_yasg2美化UI
path('redoc/', schema_view.with_ui('redoc', cache_timeout=0), name='schema-redoc'), # drf_yasg2
]
drf_yasg2的测试:
启动测试
python manage.py runserver
drf_yasg2的错误处理:
drf-yasg2错误1:
ImportError: Could not import 'drf_yasg2.generators.OpenAPISchemaGenerator' for API setting 'DEFAULT_GENERATOR_CLASS'. ImportError: Module "drf_yasg2.generators" does not define a "OpenAPISchemaGenerator" attribute/class.
或者
drf-yasg2错误2:
AttributeError: module 'rest_framework.serializers' has no attribute 'NullBooleanField'
原因:DRF 3.14兼容问题
解决方法:降低DRF版本到3.13
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!