Context data¶
This document describes how piecutter handles data to render templates.
Mappings¶
piecutter uses mappings as context data. Any dictionary-like object can be used.
Default context data¶
piecutter registers a special piecutter
variable in context, with values
about environment and execution.
Here is a sample template using all piecutter‘s special context:
{# jinja2 -#}
{
{%- for key, value in piecutter.iteritems() %}
"{{ key }}": "{{ value }}"{% if not loop.last %},{% endif %}
{%- endfor %}
}
And here is the expected output:
>>> import piecutter
>>> render = piecutter.Cutter(engine=piecutter.Jinja2Engine())
>>> print(render('file://tests/default_context.json', {}).read())
{
"engine": "jinja2"
}