Fastapi swagger-ui.css 、swagger-ui-bundle.js 无法加载
版本信息: python3.8 fastapi 0.78.0
问题:
访问 /docs 查看接口文档是发现swagger资源无法加载(可能是npm宕机了)
解决办法:
尝试降低fastapi版本并未奏效,于是想下载下资源文件,改为本地静态资源加载
github下载地址:
swagger-ui/dist at master · swagger-api/swagger-ui · GitHub
redoc
百度网盘下载:
链接:https://pan.baidu.com/s/1XyqTnqxHigWOGKN1soOoag?pwd=4xl3
提取码:4xl3
1. 分别下载 swagger-ui.css 、swagger-ui-bundle.js,放置在本地static文件夹下
2. 需要定位到源码中请求位置:
调用位置:
3.
方法1. 很简单的做法就是直接在源码上修改这三个地址
但是显然不够pythonic;
方法 2. 也可以通过复制这个方法然后修改参数,通过sys.modules覆盖原有方法
方法 3. 但是我要的很简单,只要修改参数就可以了(注意必须覆盖真实的调用位置fastapi.applications)
def use_local_static():# 覆盖原有方法,使得swagger从本地加载静态资源sys.modules["fastapi.applications"].get_swagger_ui_html.__kwdefaults__["swagger_js_url"] = "/static/swagger/swagger-ui-bundle.js"sys.modules["fastapi.applications"].get_swagger_ui_html.__kwdefaults__["swagger_css_url"] = "/static/swagger/swagger-ui.css"sys.modules["fastapi.applications"].get_swagger_ui_html.__kwdefaults__["swagger_favicon_url"] = "/static/favicon.jpg"sys.modules["fastapi.applications"].get_redoc_html.__kwdefaults__["redoc_js_url"] = "/static/redoc/bundles/redoc.standalone.js"sys.modules["fastapi.applications"].get_redoc_html.__kwdefaults__["redoc_favicon_url"] = "/static/redoc/favicon.png"
最后不要忘记挂载静态路由:
app.mount("/static", StaticFiles(directory="static"), name="static")
Fastapi swagger-ui.css 、swagger-ui-bundle.js 无法加载相关推荐
- iOS开发UI篇-在UItableview中实现加载更多功能
iOS开发UI篇-在UItableview中实现加载更多功能 一.实现效果 点击加载更多按钮,出现一个加载图示,三秒钟后添加两条新的数据. 二.实现代码和说明 当在页面(视图部分)点击加载更多按钮的时 ...
- 判断CSS与JS是否加载完毕的方法
简单而有效的思路:三步走 一.显示默认提示:直接在页面上标识一个友好的提示:例如xxx,系统加载未完成,建议您刷新后再进行yy操作 二.css加载完毕:对提示内容进行处理:例如红色提示变..黄色警告 ...
- js动态加载css文件和js文件的方法
今天研究了下js动态加载js文件和css文件的方法. 网上发现一个动态加载的方法.摘抄下来,方便自己以后使用 [code lang="html"] <html xmlns=& ...
- 前端性能优化不完全手册 【已更新至React、原生JS懒加载和Nginx负载均衡】
性能优化是一门大学问,本文仅对个人一些积累知识的阐述,欢迎下面补充. 抛出一个问题,从输入url地址栏到所有内容显示到界面上做了哪些事? 1.浏览器向DNS服务器请求解析该 URL 中的域名所对应的 ...
- Arcgis for Js之加载wms服务
概述:本节讲述Arcgis for Js加载ArcgisServer和GeoServer发布的wms服务. 1.定义resourceInfo var resourceInfo = { extent: ...
- 为什么css文件是.main,页面无法加载main.css
yii2 如何在页面底部加载css和js 作者:白狼 出处:www.manks.top/article/yii2_load_js_css_in_end 本文版权归作者,欢迎转载,但未经作者同意必须保留 ...
- ArcGIS JS API加载GeoServer发布的WFS服务
文章目录 前言 主要代码 总结 参考链接 前言 WFS(Web Feature Service),OGC标准下的要素服务.其支持的主要操作如下: GetCapabilities (discovery ...
- ajax预加载html seo,前端性能优化 — JS预加载和懒加载
JS预加载 需求:有时我们需要实现例如快速快速切换页面.图片之类的功能时,能尽快的加载出我们所需的图片会极大提升用户体验,这时用预加载将图片先缓存到浏览器,用户使用需显示图片时无疑会顺畅很多. 核心: ...
- js动态加载HTML元素时出现的无效的点击事件
项目中列表数据中隐藏着详情数据, 图一: 详情数据是:根据当前行的数据作为参数,通过ajax请求到后台返回的数据,再根据返回的结果动态生成HTML页面 图二: js文件中的这些js的点击事件无效: j ...
- 前端设计中关于外部js文件加载的速度优化
在一般情况下,许多人都是将<script>写在了<head>标签中,而许多浏览器都是使用单一的线程来加载js文件的,从上往下,从左往右. 若是加载过程出错,那么网页就会阻塞,就 ...
最新文章
- 通过踩坑带你读透虚拟机的“锁粗化”
- 一致性hash算法使用
- 震撼!波士顿动力最新逆天机器人视频,倒立翻筋斗!人类集体沉默...
- 搭建服务器Apache+PHP+MySql需要注意的问题
- python decimal用法_Python decimal模块使用方法详解
- python怎么背景实现循环_在Python的一段程序中如何使用多次事件循环详解
- 指定复制的数据库或者表
- INFORMIX体系效能改善第一步
- ES5 对象的扩展(Object.preventExtensions)、密封(Object.seal)和冻结(Object.freeze)
- Veritas Backup Exec 22 (Windows)
- 计算机基础知识题库选择题,计算机基础知识题库选择题
- C语言入门习题系列一(含答案)
- 昆腾公司稍感安慰:向外扩展存储业务营收有所提升
- android平板投屏,安卓手机投屏到平板
- 计算机算log的原理,一位业余爱好者的研究,原本是第一台机械计算器,就这么胎死腹中...
- [CTF攻防世界] WEB区 关于备份的题目
- UNITER: UNiversal Image-TExt Representation Learning
- db2的驱动程序为db2jcc4-1.6.0_97.jar和db2jcc_license_cu-1.4.2_9.7.jar
- 2011款的Mac Air 只装Windows 7 怎么把开机的咣的声音关掉
- 开源网络压测工具dperf登上了github C语言趋势榜
热门文章
- 用户行为分析大数据平台之(一)项目介绍
- CENTOS5.5下使用Roundcube搭建 Webmail
- 五脏六腑在脸上的反射区图片_面部五脏反射穴位图
- 减治法(Decrease and Conquer)
- Raid5磁盘阵列数据恢复成功案例/服务器数据恢复方案
- [ Linux ] 零散文件系统安装各种命令和软件的方法
- 解决vue项目中@mousemove 事件 子元素触发了父元素事件
- Amazon亚马逊卖家设置World First(WF卡)收款教程!
- Android应用优化之流畅度优化实操
- cf Educational Codeforces Round 54 C. Meme Problem