# starlette

URL: /kida/api/contrib/starlette/
Section: contrib
Description: Starlette/FastAPI integration for Kida.

Provides ``KidaTemplates`` — a drop-in replacement for Starlette's
``Jinja2Templates``.

Usage::

    from fastapi import FastAPI
    from kida.contrib.starlette import KidaTemplates

    app = FastAPI()
    templates = KidaTemplates(directory="templates")

    @app.get("/")
    async def homepage(request: Request):
        return templates.TemplateResponse(
            request, "index.html", {"title": "Home"}
        )

---

> For a complete page index, fetch /kida/llms.txt.

Open LLM text
(/kida/api/contrib/starlette/index.txt)

Share with AI

Ask Claude
(https://claude.ai/new?q=Please%20help%20me%20understand%20this%20documentation%3A%20%2Fkida%2Fapi%2Fcontrib%2Fstarlette%2Findex.txt)

Ask ChatGPT
(https://chatgpt.com/?q=Please%20help%20me%20understand%20this%20documentation%3A%20%2Fkida%2Fapi%2Fcontrib%2Fstarlette%2Findex.txt)

Ask Gemini
(https://gemini.google.com/app?q=Please%20help%20me%20understand%20this%20documentation%3A%20%2Fkida%2Fapi%2Fcontrib%2Fstarlette%2Findex.txt)

Ask Copilot
(https://copilot.microsoft.com/?q=Please%20help%20me%20understand%20this%20documentation%3A%20%2Fkida%2Fapi%2Fcontrib%2Fstarlette%2Findex.txt)

Module

#
`contrib.starlette`

Starlette/FastAPI integration for Kida.

Provides`KidaTemplates`— a drop-in replacement for Starlette's
`Jinja2Templates`.

Usage::

```
from fastapi import FastAPI
from kida.contrib.starlette import KidaTemplates

app = FastAPI()
templates = KidaTemplates(directory="templates")

@app.get("/")
async def homepage(request: Request):
    return templates.TemplateResponse(
        request, "index.html", {"title": "Home"}
    )
```

1Class

## Classes

`KidaTemplates`

3

▼

Starlette-compatible template renderer powered by Kida.

Starlette-compatible template renderer powered by Kida.

#### Methods

`get_template`

1

`Any`

▼

Get a template by name.

`def get_template(self, name: str) -> Any`

##### Parameters

Name
Type
Description

`name`
`—`

##### Returns

`Any`

`TemplateResponse`

6

`Any`

▼

Render a template and return a Starlette Response.

`def TemplateResponse(self, request: Any, name: str, context: dict[str, Any] | None = None, status_code: int = 200, headers: dict[str, str] | None = None, media_type: str | None = None) -> Any`

##### Parameters

Name
Type
Description

`request`
`—`

Starlette Request object.

`name`
`—`

Template name.

`context`
`—`

Template context variables.

Default:`None`

`status_code`
`—`

HTTP status code.

Default:`200`

`headers`
`—`

Additional response headers.

Default:`None`

`media_type`
`—`

Response media type.

Default:`None`

##### Returns

`Any`

starlette.responses.HTMLResponse

Internal Methods
1

▼

`__init__`

4

▼

`def __init__(self, directory: str | Path | None = None, *, env: Environment | None = None, context_processors: list[Any] | None = None, **env_kwargs: Any) -> None`

##### Parameters

Name
Type
Description

`directory`
`—`

Default:`None`

`env`
`—`

Default:`None`

`context_processors`
`—`

Default:`None`

`**env_kwargs`
`—`
