FastAPI(42)- Static Files 靜態資源
阿新 • • 發佈:2022-01-06
FastAPI(42)- Static Files 靜態資源
安裝 aiofiles
pip install aiofiles
個人感想
現在都是前後端分離,感覺在 FastAPI 應用程式中直接使用靜態資源的可能性不大,只做瞭解(也不難
使用 StaticFiles 訪問靜態資源
from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles
from fastapi.responses import HTMLResponse
app = FastAPI()
# 掛載
app.mount("/static", StaticFiles(directory="static"), name="static")
@app.get("/")
def get_login():
# 返回一段 HTML 程式碼,匯入 js 檔案的路徑以 /static 為根路徑
html = """
<!DOCTYPE html >
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="/static/jquery.min.js"></script>
</head>
<body>
12345
</body>
</html >
"""
return HTMLResponse(html)
什麼是 mount
- “掛載”意味著在特定路徑中新增一個完整的“獨立”應用程式,然後負責處理所有子路徑
- 這與使用 APIRouter 不同,因為掛載的應用程式是完全獨立的
- 主應用程式中的 OpenAPI 和文件不會包含來自掛載的應用程式的任何內容
解析上面的程式碼
- 第一個/static指的是這個“子應用程式”將被“安裝”到的子路徑,因此,任何以/static開頭的路徑都將由它處理
- directory="static" 是指包含靜態檔案的目錄的名稱,本地目錄
- name="static"賦予它一個可以被 FastAPI 內部使用的名稱,這裡暫時沒用到
- 所有這些引數都可以與static不同
- 本文作者: 小菠蘿測試筆記
- 本文連結: https://www.cnblogs.com/poloyy/p/15354774.htm