【Python】Fastapi swagger-ui.css 、swagger-ui-bundle.js 無法加載,docs無法加載,redocs無法使用

使用fastapi的時候,swagger-ui.css 、swagger-ui-bundle.js、redoc.standalone.js 有時候無法加載(國內環境原因或者是局域網屏蔽),此時就需要自己用魔法下載好對應文件,然后替換到fastapi里面去。

fastapi里面依靠這2個函數實現docs和redoc:

from fastapi.openapi.docs import get_swagger_ui_html, get_redoc_html

fastapi里面官網給的解決辦法:

https://github.com/tiangolo/fastapi/blob/ac93277d3b506f4076aee1af6ae5a86406f545c6/docs_src/custom_docs_ui/tutorial001.py#L4

實踐起來就是,首先下載好這些文件:
在這里插入圖片描述

其次復現出/docs路由和/redoc路由:

import os
import uvicorn
from fastapi import FastAPI
from starlette.middleware.cors import CORSMiddleware
from fastapi.staticfiles import StaticFiles
from fastapi.openapi.docs import get_swagger_ui_html, get_redoc_htmlapp = FastAPI(title='outpainting_captioning_upscaler',description='outpainting images, captioning images,upscaler images',version='1.0.0',docs_url=None,redoc_url=None,  # 設置 ReDoc 文檔的路徑)
app.add_middleware(CORSMiddleware,allow_origins=["*"],allow_credentials=True,allow_methods=["*"],allow_headers=["*"],
)
app.mount("/static", StaticFiles(directory="static"), name="static")@app.get("/docs", include_in_schema=False)
async def custom_swagger_ui_html():return get_swagger_ui_html(openapi_url="/openapi.json",title="xx",# oauth2_redirect_url=app.swagger_ui_oauth2_redirect_url,swagger_js_url='/static/swagger/swagger-ui-bundle.js',swagger_css_url='/static/swagger/swagger-ui.css',swagger_favicon_url='/static/swagger/img.png',)@app.get("/redoc", include_in_schema=False)
async def redoc_html():return get_redoc_html(openapi_url=app.openapi_url,title=app.title + " - ReDoc",redoc_js_url="/static/swagger/redoc.standalone.js",)# 寫個測試接口
@app.get('/xx')
async def test():return {'message': 'test success'}if __name__ == '__main__':uvicorn.run(f'{os.path.basename(__file__).split(".")[0]}:app',host='0.0.0.0',port=7777,reload=False,workers=1)

其中文件也可以去這里下載:

下載:https://wwsm.lanzouy.com/i682Q1frjnmd 密碼:9zw2

成功:
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/165762.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/165762.shtml
英文地址,請注明出處:http://en.pswp.cn/news/165762.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

計算機視覺(CV)技術的優勢:

計算機視覺(CV)技術的優勢: 自動化:計算機視覺技術可以自動化處理大量的視覺數據。 精度和速度:計算機視覺技術可以在很短的時間內對大量的圖像數據進行處理,并且可以達到非常高的精度。 可靠性&#xff…

【微軟技術棧】使用(TAP)基于任務的異步模式

本文內容 使用 Await 掛起執行取消異步操作監視進度使用內置的基于任務的連結符構建基于任務的連結符構建基于任務的數據結構 c#使用基于任務的異步模式 (TAP) 處理異步操作時,可以使用回叫實現等待,而不會阻塞。 對于任務,這可通過 Task.C…

java學習part07數組工具類

1比較內容 2輸出信息 3值填充 4快速排序 5二分查找 負數沒找到,其他表示下標

ES6 — ES14 新特性

一、ES6 新特性(2015) 1. let和const 在ES6中,新增了let和const關鍵字,其中 let 主要用來聲明變量,而 const 通常用來聲明常量。let、const相對于var關鍵字有以下特點: 特性varletconst變量提升??全局…

【漏洞復現】金蝶云星空管理中心 ScpSupRegHandler接口存在任意文件上傳漏洞 附POC

漏洞描述 金蝶云星空是一款云端企業資源管理(ERP)軟件,為企業提供財務管理、供應鏈管理以及業務流程管理等一體化解決方案。金蝶云星空聚焦多組織,多利潤中心的大中型企業,以 “開放、標準、社交”三大特性為數字經濟時代的企業提供開放的 ERP 云平臺。服務涵蓋:財務、供…

什么是切片

切片,是一個比較生疏的名詞,這是現代計算機編程語言或者說Python里的一個概念,大致意思是從一個集合里切出一塊來,就像切一塊豆腐,一刀下去切出兩塊豆腐 先看一個函數range、返回值是列表,內容和傳入range…

【MySQL】mysql中不推薦使用uuid或者雪花id作為主鍵的原因以及差異化對比

文章目錄 前言什么是UUID?什么是雪花ID?什么是MySql自增ID?優缺點對比UUID:優點1.全球唯一性2.無需數據庫支持 缺點1.存儲空間大2.索引效率低3.查詢效率低 雪花ID:優點1.分布式環境下唯一性 缺點1.依賴于機器時鐘2.存儲空間較大3.查詢效率低 MYSQL自增:優點1.簡單…

qml PathView使用介紹

PathView 是 QML 的一個強大的元素,它能夠在任意路徑上布局和滾動項目。這使得創建復雜的滾動視圖和項目動畫變得相對更簡單。 以下是 PathView 的一些主要特性: 路徑定義: PathView 根據 Path 元素定義的路徑布局項目。路徑可以是簡單的直線,復雜的曲線,或者包含多個不同…

IP 代理的基礎知識有哪些?

本文將介紹流冠IP代理的基礎知識,幫助您了解IP代理的概念、類型、作用、設置方法和注意事項。 一、IP代理的概念 IP代理是一種網絡代理服務,它通過代理服務器幫助用戶訪問互聯網,并將用戶的請求轉發到目標網站,同時將目標網站的響…

手寫工作流設計模式,針對常見的工作流步驟流轉,減少過多的if/else,提升編程思維

需求 這一年下來,寫兩次工作流流轉,總結下經驗。 第一次寫的時候,只找到用模版設計模式包裹一下,每個方法都做隔離,但是在具體分支實現的時候,if/else 滿屏分,而且因為要針對不同情況&#xff…

微信小程序實現類似Vue中的computed、watch功能

微信小程序實現類似Vue中的computed、watch功能 構建npm使用 構建npm 創建包管理器 進入小程序后,打開終端,點擊頂部“視圖” - “終端” 新建終端 使用 npm init -y初始化包管理器,生成一個package.json文件 安裝 npm 包 npm install --…

Java Web 實戰 21 - 用 Servlet 實現一個Hello World

用 Servlet 來寫一個 Hello World~ 一 . 基本部署方式1.1 創建 Servlet 項目1.2 引入依賴1.3 創建目錄1.4 編寫代碼繼承 HttpServlet重寫 doGet 方法刪除 super 方法加上 WebServlet 注解寫業務邏輯 1.5 打包1.6 部署1.7 驗證1.8 小結 二 . 更方便的部署方式2.1 Smart Tomcat 的…

【docker】安裝redis和mysql生產實戰

docker安裝諸如redis,mysql等程序非常方便,但是如果不是為了學習,生產環境的部署還是要注意很多問題的 mysql docker pull mysql:5.7mkdir -p /usr/docker/mysql/{conf,logs,data}docker run -d -p 3306:3306 --privilege

ORA-28003: password verification for the specified password failed,取消oracl密碼復雜度

自己在測試環境想要使自己的Oracle數據庫用戶使用簡單的密碼方便測試,結果指定密碼的密碼驗證失敗 SQL> alter user zzw identified by zzw; alter user zzw identified by zzw * ERROR at line 1: ORA-28003: password verification for the specified password…

本地部署 ComfyUI

本地部署 ComfyUI ComfyUI 介紹ComfyUI Github 地址部署 ComfyUI配置模型地址 or 下載模型啟動 ComfyUI訪問 ComfyUI ComfyUI 介紹 最強大、模塊化的穩定擴散 GUI 和后端。 該用戶界面將允許您使用基于圖形/節點/流程圖的界面設計和執行高級穩定擴散管道。 ComfyUI Github 地…

用戶運營常用的ChatGPT通用提示詞模板

如何建立和完善用戶運營體系,提高用戶滿意度和忠誠度? 如何制定有效的用戶獲取和留存策略,提高用戶生命周期價值? 如何運用多種渠道和平臺進行用戶運營,提高用戶參與度和互動性? 如何建立和維護用戶社群…

第五天 用Python批量處理Excel文件,實現自動化辦公

用Python批量處理Excel文件,實現自動化辦公 一、具體需求 有以下N個表,每個表的結構一樣,如下: 需要把所有表數據匯總,把每個人的得分、積分分別加起來,然后按總積分排名,總積分一致時&#xff…

小程序可拖拽按鈕

你有沒有遇到過在頁面中有一個固定在某個位置的按鈕,永遠的擋住了你想要看的區域? 在小程序的列表頁面中,常常會有一個提報的入口固定在右下角,如果這個按鈕不可拖動的話,可能會擋住下面的事件,讓用戶操作起…

云端導覽,數字互動 | 拓世法寶AI數字人一體機助力全新旅游時代

《中國旅行消費趨勢洞察白皮書(2023版)》顯示,消費者旅行習慣已從“到此一游”變為“深度在地”,更強調在旅游中充實自我、學習新知識。 (《中國旅行消費趨勢洞察白皮書(2023版》截圖) 從這些資…

C++標準模板(STL)- 類型支持 (類型修改,從給定類型移除引用,std::remove_reference)

類型特性 類型特性定義一個編譯時基于模板的結構&#xff0c;以查詢或修改類型的屬性。 試圖特化定義于 <type_traits> 頭文件的模板導致未定義行為&#xff0c;除了 std::common_type 可依照其所描述特化。 定義于<type_traits>頭文件的模板可以用不完整類型實例…