Basic Template Rendering
Install dependencies:
pip install jinja2
Create a template directory:
templates/
index.html
items.html
Set up templates in your app:
from justapi import JustAPIApp
from justapi import Jinja2Templates
app = JustAPIApp()
templates = Jinja2Templates(directory="templates")
@app.get("/")
def index(request):
return templates.TemplateResponse("index.html", {"request": request, "title": "Home"})
Template Example
<!-- templates/index.html -->
<!DOCTYPE html>
<html>
<head>
<title>{{ title }}</title>
</head>
<body>
<h1>{{ title }}</h1>
<p>Welcome to JustAPI</p>
</body>
</html>
Passing Data
@app.get("/items")
def list_items(request):
items = [{"id": 1, "name": "Widget"}, {"id": 2, "name": "Gadget"}]
return templates.TemplateResponse("items.html", {
"request": request,
"items": items,
"title": "Items",
})
See Also
- Frontend — frontend integration
- Static Files — serving CSS/JS
- Custom Response Classes — HTML responses