Jinja2 extension adding {% try %} {% catch %} exception handling
Project description
jinja-try-catch
A Jinja2 extension providing exception handling within templates.
{%- try -%}
{{ 1 / 0 }}
{%- catch -%}
Can't divide by zero!
{%- endtry -%}
Can't divide by zero!
This extension works in both sync and async environments, as well as the native variants, too.
Quickstart
pip install jinja-try-catch
And add the TryCatchExtension
to your Environment
extensions list:
import jinja2
from jinja_try_catch import TryCatchExtension
jinja_env = jinja2.Environment(extensions=[TryCatchExtension])
Usage
Suppressing errors
Simply omit the {% catch %}
to silently swallow exceptions
{%- try -%}
{{ 1 / 0 }}
{%- endtry -%}
Error messages
Define a {% catch %}
to render something else if an exception is raised
{%- try -%}
{{ 1 / 0 }}
{%- catch -%}
There are infinite zeroes, duh
{%- endtry -%}
There are infinite zeroes, duh
Display exceptions
The raised exception is exposed within the {% catch %}
through the {{ exception }}
variable
{%- try -%}
{{ 1 / 0 }}
{%- catch -%}
Uh-oh, an error occurred:
{{ exception.__class__.__name__ }}: {{ exception }}
{%- endtry -%}
Uh-oh, an error occurred:
ZeroDivisionError: division by zero
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
jinja_try_catch-0.1.1.tar.gz
(5.3 kB
view hashes)
Built Distribution
Close
Hashes for jinja_try_catch-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d653a5fbbcddbb454770346af1a314042a9051ce910bce57c8a4cd7f33de0589 |
|
MD5 | 21a5aefa4f7fde9f297c04b4ff92a8e5 |
|
BLAKE2b-256 | aa74ba11031f595291bab0d1fb92dd28358230cb37503ba91076602f965a1478 |