No project description provided
Project description
starlette-async-jinja
Jinja2 is_async template support for Starlette +
About
- Provides AsyncJinja2Templates class which enables use of the is_async Jinja environment flag with Startlette and Starlette based applications like FastAPI
- Integrated Jinja Partials and Jinja Fragments
- Supports asynchronous template loaders (examples here) (not yet tested but should work)
Issues
-
Only asynchronous template loaders (not yet tested but should work) are currently supported
-
The Jinja bytecodecache requires an asynchronous Redis backend
Usage
Import AsyncJinja2 Templates:
from starlette_async_jinja import AsyncJinja2Templates
Replace Jinja2Templates with AsyncJinja2Templates:
templates = Jinja2Templates(directory='templates')
Render the async template in the response:
async def homepage(request: Request):
return await templates.AsyncTemplateResponse('index.html', {'request': request})
Even simpler:
async def homepage(request: Request):
return await templates.render_template('index.html', {'request': request})
To render Jinja Fragments or 'blocks':
async def only_block(request: Request):
return await templates.render_block(
"page.html.jinja2",
{"request": request, "magic_number": 42},
block_name="content"
)
To render Jinja Partials:
in a template
{% for v in row %}
<div class="col-md-3 video">
{{ render_partial('shared/partials/video_square.html', video=v) }}
</div>
{% endfor %}
or programmatically
async def render_partial(template: str, **kwargs):
return await templates.render_partial(template, **kwargs)
Acknowledgements
License
BSD-3-Clause
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file starlette_async_jinja-1.3.3.tar.gz.
File metadata
- Download URL: starlette_async_jinja-1.3.3.tar.gz
- Upload date:
- Size: 4.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: pdm/2.9.3 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
12e350eebdec17b07af0fbb0981f0aeaee680e7182575c1ca38033b858b8c34a
|
|
| MD5 |
0f1c20daffcd62e07a6b8f3044467e63
|
|
| BLAKE2b-256 |
38cc93ef8a31b1f8c3a6a46575f78dac3998f3b24f859c1890d280fdf75706e7
|
File details
Details for the file starlette_async_jinja-1.3.3-py3-none-any.whl.
File metadata
- Download URL: starlette_async_jinja-1.3.3-py3-none-any.whl
- Upload date:
- Size: 5.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: pdm/2.9.3 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
202b3f5659f045a40c18686d46fa30ee2cd200b104403d1cbc2a7fab2cf57204
|
|
| MD5 |
c4963c8db0937d10c4d23543d28b3495
|
|
| BLAKE2b-256 |
df3a9cc3f169488c19d05d701a5e2acd61d7d18bc1bc68b617af802ed2f5c0c5
|