Skip to main content

Jinja2 extension that never undefined

Project description

# Jinja: NeverUndefined

End the lawless era of Jinja.

`NeverUndefined` is more restrictive than `StrictUndefined`. See [this issue](https://github.com/pallets/jinja/issues/1923).

Usage:

1. Install the package:

```bash
pip3 install jinja2_neverundefined
```

2. Create a template file named `template.j2` with the following content:

```jinja
{% macro test(a, b, c) %}
a macro with three parameters but not used
{%endmacro%}

{{test()}}
```

3. Create a Python script named `example.py` with the following content:

```python
from jinja2 import Environment, FileSystemLoader
from your_package_name import NeverUndefined

# Create Jinja2 environment with the extension
env = Environment(
loader=FileSystemLoader('.'),
undefined=NeverUndefined
)

# Render the template
template = env.get_template('template.j2')
rendered = template.render()

# Print the rendered output
print(rendered)
```

4. Run the script:

```bash
python example.py
```

The script will raise an exception because parameters `a b c` are not provided when calling macro `test` in the template.

By using the `NeverUndefined` extension, the Jinja environment will raise an exception when encountering an undefined variable. This helps catch potential issues or missing variable bindings in your templates.

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

jinja2_neverundefined-0.1.0.tar.gz (1.9 kB view details)

Uploaded Source

File details

Details for the file jinja2_neverundefined-0.1.0.tar.gz.

File metadata

  • Download URL: jinja2_neverundefined-0.1.0.tar.gz
  • Upload date:
  • Size: 1.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.12

File hashes

Hashes for jinja2_neverundefined-0.1.0.tar.gz
Algorithm Hash digest
SHA256 891eb21f5cc95347bc73a7aa132a8d85974b6503fea00b5e484aae2ecc14b72f
MD5 acb35ad3f79ea9bf2cc412459670db42
BLAKE2b-256 ce9677ccc1959cf734fa87e9818d00c8f8e899b448bc689a35a857b876b24566

See more details on using hashes here.

Supported by

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