答: 因为venv/lib/python3.6/site-packages/fastapi/openapi/docs.py
文件默认是访问CDN中的 swagger-ui.css
和swagger-ui-bundle.js
,如果是内网环境则会在打开‘http://127.0.0.1:5000/docs’时,显示空白页面
备注: 需要现在网上下载swagger-ui, swagger-ui文件夹里面需要包含三个文件(favicon.png、swagger-ui.css、swagger-ui-bundle.js),然后新创建static文件夹,将swagger-ui文件夹放入到staitc文件夹下
目录结构如下:
一、我们可以让fastapi 启动时,提供静态文件服务,只需要在 'src/main.py’中增加:
app.mount('/static', StaticFiles(directory=os.path.join('/home/oper/incm-monitor-utp/', 'static/swagger-ui')), name='static')
二、然后修改文件venv/lib/python3.6/site-packages/fastapi/openapi/docs.py
def get_swagger_ui_html(
*,
openapi_ui: str,
title: str,
swagger_js_url: str="/static/swagger-ui-bundle.js",
swagger_css_url: str="/static/swagger-ui.css",
swagger_favicon_url: str="/static/favicon.png",
oauth2_redirect_url: Optional[str] = None,
init_oauth: Optional[dict] = None,
) -> HTMLResponse:
...