Skip to content

Templates (Jinja2)

Install dependencies:

Terminal window
pip install jinja2

Create a template directory:

templates/
index.html
items.html

Set up templates in your app:

from justapi import JustAPIApp
from starlette.templating import Jinja2Templates
app = JustAPIApp()
templates = Jinja2Templates(directory="templates")
@app.get("/")
def index(request):
return templates.TemplateResponse("index.html", {"request": request, "title": "Home"})
templates/index.html
<!DOCTYPE html>
<html>
<head>
<title>{{ title }}</title>
</head>
<body>
<h1>{{ title }}</h1>
<p>Welcome to JustAPI</p>
</body>
</html>
@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",
})