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 不同

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM