Skip to main content

Jinja2 Extension for template debugging.

Project description

Jinja2-template_info is Jinja2 Extension module and piece of code to generate and show some template information which could help with debuging templates.

template_info

render(template, path, **kwargs)

That is simple function, which return rendered string from Jinja2. If there is debug variable set to positive variable in kawrgs, TemplateInfoExtension is used and attributes data and template was set.

template:

template file name

path:

path or paths, where jinja could find the template

**kwargs:

data, which are send to template

>>> try:
...     from importlib.resources import files
... except ImportError:
...     from importlib_resources import files
>>> from jinja2_template_info import render
>>> path = (files('jinja2_template_info'), "./")
>>> render("test.html", path, debug=True,
...        code_variable="Variable from code")
...        # doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
'<!DOCTYPE html>...</html>'

class TemplateInfoExtension(Extension)

Extension class, which append TemplateInfo instance to template in template_info variable. This class contains own Undefined class, which is use to store undefined variables names. They are in template_info.undefined.

>>> try:
...     from importlib.resources import files
... except ImportError:
...     from importlib_resources import files
>>> from jinja2 import Environment, FileSystemLoader
>>> from jinja2_template_info import TemplateInfoExtension
>>> data = {"title":"Title"}
>>> path = (files('jinja2_template_info'), "./")
>>> env = Environment(loader=FileSystemLoader(path),
...                   extensions=[TemplateInfoExtension])
>>> env.globals["template_info"].data = data.copy()
>>> env.globals["template_info"].template = "test.html"
>>> template = env.get_template("test.html")
>>> template.render(data)   # doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
'<!DOCTYPE html>...</html>'

template_info.html

This file contains some macros for better html output of variables. Becouse local template variables are readed only from each template, that must be used as macro argument.

render_info(local_variables=none)

Append debug output to template. Output is labeled with section name, some sections are shown only if they are set.

Local Variables:

Variables from template, where render_info is call. Local variable could be get with template_info.context().get_exported()) call.

Template:

Template file name (template_info variable).

Input Variables:

kwargs data from render function (template_info variable).

Context:

Context content without variables. There are all functions, macros and other objects set to environment.globals.

Undefined objects:

List of undefined variables,functions, macros and other objects, which is not found and template want use it.

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-template_info-0.2.4.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

Jinja2_template_info-0.2.4-py3-none-any.whl (10.3 kB view details)

Uploaded Python 3

File details

Details for the file Jinja2-template_info-0.2.4.tar.gz.

File metadata

  • Download URL: Jinja2-template_info-0.2.4.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.5

File hashes

Hashes for Jinja2-template_info-0.2.4.tar.gz
Algorithm Hash digest
SHA256 e5cff658f68efd97d976b8c42e6aa3213a8b763e50081677db0909bbb6560b62
MD5 5f106aa622adbb47eefb48a649a44d81
BLAKE2b-256 358553936720422595cb8cd25b9cf6344b1030c0095faef7b5ef85e138d75609

See more details on using hashes here.

File details

Details for the file Jinja2_template_info-0.2.4-py3-none-any.whl.

File metadata

  • Download URL: Jinja2_template_info-0.2.4-py3-none-any.whl
  • Upload date:
  • Size: 10.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.12

File hashes

Hashes for Jinja2_template_info-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 82a44c7eb65fb2322eb611ddc2a2575a3add961bd03ca44831f1622ca474fde2
MD5 7a590a2f3b71de17d9705cccd029aaad
BLAKE2b-256 2065748346e6ba55e9febb9d1884a3b9052d3ad49c031e404397b7a8e09ccfd2

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