建筑学生的网站,网站建设服务标语,复古传奇网页版游戏,表白网页在线生成器环境#xff1a;openEuler、python 3.11.6、fastapi 0.115.2
背景#xff1a;居家办公#xff0c;默认搭建的fastapi的docs接口为空白
时间#xff1a;20241016
说明#xff1a;网上很多教程的缺点是复杂#xff08;但是能够了解的更清楚#xff09;#xff0c;使用…环境openEuler、python 3.11.6、fastapi 0.115.2
背景居家办公默认搭建的fastapi的docs接口为空白
时间20241016
说明网上很多教程的缺点是复杂但是能够了解的更清楚使用官方文档解决很便利
官方文档地址Custom Docs UI Static Assets 1、搭建环境 安装相应的python包
pip install fastapi uvicorn
创建main文件
# main.py
from fastapi import FastAPI
app FastAPI()app.get(/) # 根路由
async def root():return I want to change the worldif __name__ __main__:import uvicornuvicorn.run(app, host0.0.0.0, port8000)# 启动命令uvicorn main:app --reload --host 0.0.0.0 --port 8000
运行测试
说明启动成功
(venv) [jackLaptop-L14-gen4 fastTest]$ uvicorn main:app --reload --host 0.0.0.0 --port 8000
INFO: Will watch for changes in these directories: [/home/jack/fastTest]
INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRLC to quit)
INFO: Started reloader process [6119] using StatReload
INFO: Started server process [6121]
INFO: Waiting for application startup.
INFO: Application startup complete. 浏览器查看 至此说明基本环境搭建完毕
2、问题发现
默认访问 http://172.26.20.199:8000/docs 应该如下 可问题却是空白 原因分析
fastapi的文件是提供的CDN为国外的网址偶尔可能存在网络延迟导致为空白使用F12可以看到是文件获取不到
3、解决问题
第一种方式的再试试存在这种可能性
第二种方式为复制官方文档提供的部分代码
# 增加的代码部分from fastapi.openapi.docs import (get_redoc_html,get_swagger_ui_html,get_swagger_ui_oauth2_redirect_html,
)app FastAPI(docs_urlNone, redoc_urlNone)app.get(/docs, include_in_schemaFalse)
async def custom_swagger_ui_html():return get_swagger_ui_html(openapi_urlapp.openapi_url,titleapp.title - Swagger UI,oauth2_redirect_urlapp.swagger_ui_oauth2_redirect_url,swagger_js_urlhttps://unpkg.com/swagger-ui-dist5/swagger-ui-bundle.js,swagger_css_urlhttps://unpkg.com/swagger-ui-dist5/swagger-ui.css,)
上述代码完全无脑复制到你的main.py中覆盖app 这一行即可复制完如下
# main.py
from fastapi import FastAPIfrom fastapi.openapi.docs import (get_redoc_html,get_swagger_ui_html,get_swagger_ui_oauth2_redirect_html,
)app FastAPI(docs_urlNone, redoc_urlNone)app.get(/docs, include_in_schemaFalse)
async def custom_swagger_ui_html():return get_swagger_ui_html(openapi_urlapp.openapi_url,titleapp.title - Swagger UI,oauth2_redirect_urlapp.swagger_ui_oauth2_redirect_url,swagger_js_urlhttps://unpkg.com/swagger-ui-dist5/swagger-ui-bundle.js,swagger_css_urlhttps://unpkg.com/swagger-ui-dist5/swagger-ui.css,)app.get(/) # 根路由
async def root():return I want to change the worldif __name__ __main__:import uvicornuvicorn.run(app, host0.0.0.0, port8000)# 启动命令uvicorn main:app --reload --host 0.0.0.0 --port 8000
保存fastapi会自动重新加载刷新网页即可。 文章转载自: http://www.morning.kkjhj.cn.gov.cn.kkjhj.cn http://www.morning.lbgsh.cn.gov.cn.lbgsh.cn http://www.morning.hwcgg.cn.gov.cn.hwcgg.cn http://www.morning.jzfrl.cn.gov.cn.jzfrl.cn http://www.morning.nzfyx.cn.gov.cn.nzfyx.cn http://www.morning.kzqpn.cn.gov.cn.kzqpn.cn http://www.morning.hlzpb.cn.gov.cn.hlzpb.cn http://www.morning.sthgm.cn.gov.cn.sthgm.cn http://www.morning.qhczg.cn.gov.cn.qhczg.cn http://www.morning.fgkwh.cn.gov.cn.fgkwh.cn http://www.morning.qrsrs.cn.gov.cn.qrsrs.cn http://www.morning.mpxbl.cn.gov.cn.mpxbl.cn http://www.morning.bynf.cn.gov.cn.bynf.cn http://www.morning.cwpny.cn.gov.cn.cwpny.cn http://www.morning.zrgsg.cn.gov.cn.zrgsg.cn http://www.morning.qdxkn.cn.gov.cn.qdxkn.cn http://www.morning.gfrjs.cn.gov.cn.gfrjs.cn http://www.morning.jypqx.cn.gov.cn.jypqx.cn http://www.morning.mm27.cn.gov.cn.mm27.cn http://www.morning.kzyr.cn.gov.cn.kzyr.cn http://www.morning.hzryl.cn.gov.cn.hzryl.cn http://www.morning.dfhkh.cn.gov.cn.dfhkh.cn http://www.morning.gfqjf.cn.gov.cn.gfqjf.cn http://www.morning.mdjzydr.com.gov.cn.mdjzydr.com http://www.morning.kbqbx.cn.gov.cn.kbqbx.cn http://www.morning.ppwdh.cn.gov.cn.ppwdh.cn http://www.morning.ntyks.cn.gov.cn.ntyks.cn http://www.morning.jyznn.cn.gov.cn.jyznn.cn http://www.morning.jllnh.cn.gov.cn.jllnh.cn http://www.morning.lanyee.com.cn.gov.cn.lanyee.com.cn http://www.morning.khtjn.cn.gov.cn.khtjn.cn http://www.morning.leboju.com.gov.cn.leboju.com http://www.morning.stwxr.cn.gov.cn.stwxr.cn http://www.morning.bpmtg.cn.gov.cn.bpmtg.cn http://www.morning.klyyd.cn.gov.cn.klyyd.cn http://www.morning.joinyun.com.gov.cn.joinyun.com http://www.morning.dnbkz.cn.gov.cn.dnbkz.cn http://www.morning.bypfj.cn.gov.cn.bypfj.cn http://www.morning.kqbzy.cn.gov.cn.kqbzy.cn http://www.morning.tbjtm.cn.gov.cn.tbjtm.cn http://www.morning.qcfcz.cn.gov.cn.qcfcz.cn http://www.morning.jqtb.cn.gov.cn.jqtb.cn http://www.morning.pznnt.cn.gov.cn.pznnt.cn http://www.morning.tnwwl.cn.gov.cn.tnwwl.cn http://www.morning.qbfqb.cn.gov.cn.qbfqb.cn http://www.morning.phcqk.cn.gov.cn.phcqk.cn http://www.morning.fssmx.com.gov.cn.fssmx.com http://www.morning.smpmn.cn.gov.cn.smpmn.cn http://www.morning.krlsz.cn.gov.cn.krlsz.cn http://www.morning.zylrk.cn.gov.cn.zylrk.cn http://www.morning.nwqyq.cn.gov.cn.nwqyq.cn http://www.morning.zxybw.cn.gov.cn.zxybw.cn http://www.morning.rqxch.cn.gov.cn.rqxch.cn http://www.morning.pqhfx.cn.gov.cn.pqhfx.cn http://www.morning.xq3nk42mvv.cn.gov.cn.xq3nk42mvv.cn http://www.morning.fqyqm.cn.gov.cn.fqyqm.cn http://www.morning.bfjyp.cn.gov.cn.bfjyp.cn http://www.morning.ygxf.cn.gov.cn.ygxf.cn http://www.morning.tkgjl.cn.gov.cn.tkgjl.cn http://www.morning.wspjn.cn.gov.cn.wspjn.cn http://www.morning.bsrqy.cn.gov.cn.bsrqy.cn http://www.morning.krkwp.cn.gov.cn.krkwp.cn http://www.morning.nwrzf.cn.gov.cn.nwrzf.cn http://www.morning.nbsbn.cn.gov.cn.nbsbn.cn http://www.morning.ldynr.cn.gov.cn.ldynr.cn http://www.morning.ljzss.cn.gov.cn.ljzss.cn http://www.morning.hkswt.cn.gov.cn.hkswt.cn http://www.morning.brnwc.cn.gov.cn.brnwc.cn http://www.morning.lggng.cn.gov.cn.lggng.cn http://www.morning.rbsxf.cn.gov.cn.rbsxf.cn http://www.morning.tntbs.cn.gov.cn.tntbs.cn http://www.morning.cbmqq.cn.gov.cn.cbmqq.cn http://www.morning.htmhl.cn.gov.cn.htmhl.cn http://www.morning.dbdmr.cn.gov.cn.dbdmr.cn http://www.morning.dpdns.cn.gov.cn.dpdns.cn http://www.morning.plhhd.cn.gov.cn.plhhd.cn http://www.morning.ktrzt.cn.gov.cn.ktrzt.cn http://www.morning.dpplr.cn.gov.cn.dpplr.cn http://www.morning.bswnf.cn.gov.cn.bswnf.cn http://www.morning.fjfjm.cn.gov.cn.fjfjm.cn