Performance: Serving static files
This affects how quickly static assets like images, CSS, and JavaScript load, impacting page load speed and user experience.
from fastapi import FastAPI from fastapi.staticfiles import StaticFiles app = FastAPI() app.mount('/static', StaticFiles(directory='static'), name='static')
from fastapi import FastAPI from fastapi.responses import Response app = FastAPI() @app.get('/static/{file_path:path}') async def serve_static(file_path: str): with open(f'static/{file_path}', 'rb') as f: return Response(content=f.read(), media_type='application/octet-stream')
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Manual file read per request | N/A | N/A | Delays asset load causing slower paint | [X] Bad |
| FastAPI StaticFiles mount | N/A | N/A | Assets load faster, enabling quicker paint | [OK] Good |
StaticFiles in a FastAPI application?StaticFiles is used to serve static content like images, CSS, and JavaScript files in FastAPI.app.mount(path, StaticFiles(directory=folder), name=alias).from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles
app = FastAPI()
app.mount('/files', StaticFiles(directory='myfiles'), name='files')
What URL path should you visit in a browser to access a file named image.png inside the myfiles folder?from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles
app = FastAPI()
app.mount('/static', StaticFiles('static'), name='static')directory parameter.app.mount(path, StaticFiles(directory=folder), name=alias) for each static folder.Pass the test and this pattern moves unknown