Skip to main content

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


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 details)

Uploaded Source

Built Distribution

jinja_try_catch-0.1.1-py3-none-any.whl (4.0 kB view details)

Uploaded Python 3

File details

Details for the file jinja_try_catch-0.1.1.tar.gz.

File metadata

  • Download URL: jinja_try_catch-0.1.1.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.11.3 Linux/5.13.0-52-generic

File hashes

Hashes for jinja_try_catch-0.1.1.tar.gz
Algorithm Hash digest
SHA256 593a3ea0ef13c4db01225cfd66bd8171f0153e89ab3d8fdba496f0f80110ca1d
MD5 1413c3315b39ca7442a90d2af3ca37b5
BLAKE2b-256 ad28ccb1e367663b157c90d85a4a2544890a8fd998f160d5bb1cfb6b0a921d93

See more details on using hashes here.

File details

Details for the file jinja_try_catch-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: jinja_try_catch-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 4.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.11.3 Linux/5.13.0-52-generic

File hashes

Hashes for jinja_try_catch-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d653a5fbbcddbb454770346af1a314042a9051ce910bce57c8a4cd7f33de0589
MD5 21a5aefa4f7fde9f297c04b4ff92a8e5
BLAKE2b-256 aa74ba11031f595291bab0d1fb92dd28358230cb37503ba91076602f965a1478

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page