django-rest-swagger
Swagger是一个API开发者的工具框架,用于生成、描述、调用和可视化RESTful风格的Web服务。总体目标是使客户端和文件系统服务器以同样的速度来更新,方法,参数和模型紧密集成到服务器端的代码中,允许API始终保持同步。
在使用 django-rest-framework 进行API开发,可以使用django-rest-swagger接入swagger自动生成接口文档。
1:安装django-rest-swagger
pip3 install django-rest-swagger
2:配置settings.py
INSTALLED_APPS = [
...
'rest_framework_swagger',
...
]
3:配置urls.py
from django.contrib import admin
from django.urls import path
from rest_framework_swagger.views import get_swagger_view
schema_view = get_swagger_view(title='API')
urlpatterns = [
path('admin/', admin.site.urls),
path('doc/', schema_view)
]
4:运行python3 manage.py runserver
5:浏览器访问 http://127.0.0.1:8000/doc/
此时出现报错信息:'AutoSchema' object has no attribute 'get_link'
这是因为使用模块的版本问题,我们需要在setting中添加设置:
REST_FRAMEWORK = {
'DEFAULT_SCHEMA_CLASS': 'rest_framework.schemas.coreapi.AutoSchema'
}
6:再次刷新 http://127.0.0.1:8000/doc/
继续出现报错信息:'staticfiles' is not a registered tag library
这是因为在django4.x中关于 {% load staticfiles %} 部分做了修改 ,
解决方法是使用新语法:{% load static %}
找到报错的文件位置:
/.local/lib/python3.10/site-packages/rest_framework_swagger/templates/rest_framework_swagger/index.html
用编辑器,将第二行的{% load staticfiles %} 修改为:{% load static %}
7:再次刷新 http://127.0.0.1:8000/doc/,成功出现如下Swagger效果图:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!