Skip to main content

Jinja2 Extension for template debugging.

Project description

>>> from jinja2_template_info import render
>>> render("test.html", "./", debug=True,
... code_variable="Variable from code")
... # doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
'<!DOCTYPE html>...</html>'

Home-page: https://github.com/ondratu/jinja2-template-info
Author: Ondřej Tůma
Author-email: mcbig@zeropage.cz
License: BSD
Description: Jinja2 template info
====================

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


.. code:: python

>>> from jinja2_template_info import render
>>> render("test.html", "./", 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``.

.. code:: python

>>> from jinja2 import Environment, FileSystemLoader
>>> from jinja2_template_info import TemplateInfoExtension
>>> data = {"title":"Title"}
>>> env = Environment(loader=FileSystemLoader("./"),
... 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.
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Libraries
Description-Content-Type: text/x-rst

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.1.0.tar.gz (5.1 kB view hashes)

Uploaded Source

Built Distributions

Jinja2_template_info-0.1.0-py3-none-any.whl (8.4 kB view hashes)

Uploaded Python 3

Jinja2_template_info-0.1.0-py2-none-any.whl (8.4 kB view hashes)

Uploaded Python 2

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