静态文件:Static Files

2022-11-17,,,

官方文档地址:https://fastapi.tiangolo.com/zh/tutorial/static-files/

from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles app = FastAPI() app.mount("/static", StaticFiles(directory="static"), name="static")

“挂载”意味着在特定路径中添加一个完整的“独立”应用程序,然后处理所有子路径。

第一个“/static”是指此“子应用程序”将“装入”的子路径。因此,任何以“/static”开头的路径都将由它处理。

directory=“static”指的是包含静态文件的目录的名称。

name=“static”为它提供了一个可以由FastAPI在内部使用的名称。

所有这些参数都可以不同于“静态”,根据您自己应用程序的需要和具体细节进行调整。

示例代码

# -*- coding: UTF-8 -*-
from fastapi import FastAPI, Form
from starlette.requests import Request
from starlette.staticfiles import StaticFiles
from starlette.templating import Jinja2Templates app = FastAPI()
templates = Jinja2Templates(directory="templates")
app.mount('/static', StaticFiles(directory='static'), name='static') @app.post("/user/")
async def files(
request: Request,
username: str = Form(...),
password: str = Form(...),
):
print('username', username)
print('password', password)
return templates.TemplateResponse(
'index.html',
{
'request': request,
'username': username,
}
) @app.get("/")
async def main(request: Request):
return templates.TemplateResponse('signin.html', {'request': request}) if __name__ == '__main__':
import uvicorn uvicorn.run(app, host="127.0.0.1", port=8000)

示例代码下载地址:https://files.cnblogs.com/files/sanduzxcvbnm/FastAPI_No.6_bootstrap_static.zip

静态文件:Static Files的相关教程结束。

《静态文件:Static Files.doc》

下载本文的Word格式文档,以方便收藏与打印。