首页 > 其他分享 >django-rest-swagger

django-rest-swagger

时间:2023-01-17 23:56:55浏览次数:40  
标签:load rest django framework API 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效果图:

 

标签:load,rest,django,framework,API,swagger
From: https://www.cnblogs.com/beichengshiqiao/p/17058953.html

相关文章

  • Django接入Swagger,生成Swagger接口文档-操作解析
        Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务。总体目标是使客户端和文件系统源代码作为服务器以同样的速度来更新。当......
  • django4.1版本小demo
    1.安装anoconda,创建虚拟python3.9环境2.安装django,pipinstalldjango-i清华源安装较快3.新建一个django项目django-adminstartprojectdemo14.创建单个或者多......
  • 基于Django的全栈个人博客
    基础但完整的三个DjangoFullstackBlog项目这三个用的都是基础的Django全栈,没有做前后端分离。前两个有完整教程,第三个教程无,但有redis缓存,后续可以三个对照着相互补充。......
  • Django Session 原理及配置和使用
    1、Django如何使用session会话1.1)session会话是通过中间件实现的,所以首先需要配置MIDDLEWAREMIDDLEWARE=[......'django.contrib.sessions.middleware.SessionM......
  • Django自定义认证系统原理及源码分析解读
    疑问Django在​​如何自定义用户登录认证系统的时候​​,大家都会里面立马说自定义一个或者多个backend,比如通过账号+密码、邮箱+密码,邮箱+验证码、手机号+短信验证码等等......
  • xlwings rest api
    https://pbihub.cn/blog/964/created_athttps://docs.xlwings.org/zh_CN/latest/rest_api.htmlxlwings>=0.13.0flask>=1.01.运行CMD xlwingsrestapirun-host0.......
  • 小满nestjs(第二十三章 nestjs swagger接口文档)
    swagger用于提供给前端接口文档安装命令如下npminstall@nestjs/swaggerswagger-ui-express在main.ts注册swaggerasyncfunctionbootstrap(){constapp=awaitNe......
  • C. Interesting Sequence
    C.InterestingSequencePetyaandhisfriend,robotPetya++,liketosolveexcitingmathproblems.OnedayPetya++cameupwiththenumbers$n$and$x$andwro......
  • 03-Django命令 python manage.py runserver
    使用Django开发,一定离不开这条命令,pythonmanage.pyrunserver[127.0.0.1:8000],这条命令是启动DJango,接下来就可以通过浏览器发起请求了。Django肯定也会遵守WSGI协议......
  • C++ REST SDK
    #include<iostream>#include<future>#include<string>#include<sstream>#include<stdexcept>#include<functional>#include<locale>#include<codecvt>//#......