from fastapi import FastAPI, Request from fastapi.responses import HTMLResponse from fastapi.templating import Jinja2Templates from fastapi.staticfiles import StaticFiles app = FastAPI() # Mount static files if needed (e.g. CSS, JS, images) app.mount("/static", StaticFiles(directory="static"), name="static") # Jinja2 template directory templates = Jinja2Templates(directory="templates") @app.get("/", response_class=HTMLResponse) async def read_root(request: Request): return templates.TemplateResponse("index.html", {"request": request, "message": "Hello from FastAPI + Jinja2!"})