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
Close
Hashes for starlette_async_jinja-1.2.3.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | f78f893d484611d3cda5895cdafc6e5b7f3c246e7c1bfd5d1bd8bb5349489484 |
|
MD5 | e2d402b6ec2460b8eea15bcaa04ed45c |
|
BLAKE2b-256 | f8cc95a2d0e0cdf5fcc64811c4b21dcdae6251213fb6cb17ac0255d7b6d130d9 |
Close
Hashes for starlette_async_jinja-1.2.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e7a7f65e2fa87e3cd323b118f93740c42708cf7690d8f936716e7e6f3ad32654 |
|
MD5 | be7252410e7b5af4a5135f0c89145a88 |
|
BLAKE2b-256 | 2bb7e1f219269acad6f41c1b82b0e09805f0c4f356b858c4c767d5c59c7fac82 |