| Armin Ronacher | 449167d | 2008-04-11 17:55:05 +0200 | [diff] [blame] | 1 | from jinja2 import Environment |
| Armin Ronacher | 41ef36f | 2008-04-11 19:55:08 +0200 | [diff] [blame] | 2 | from jinja2.loaders import DictLoader |
| Armin Ronacher | 46f5f98 | 2008-04-11 16:40:09 +0200 | [diff] [blame] | 3 | |
| Armin Ronacher | 41ef36f | 2008-04-11 19:55:08 +0200 | [diff] [blame] | 4 | env = Environment(loader=DictLoader({ |
| 5 | 'child.html': u'''\ |
| 6 | {% extends master_layout or 'master.html' %} |
| Armin Ronacher | 7c0116f | 2008-04-12 00:06:19 +0200 | [diff] [blame] | 7 | {% include helpers = 'helpers.html' %} |
| Armin Ronacher | 41ef36f | 2008-04-11 19:55:08 +0200 | [diff] [blame] | 8 | {% macro get_the_answer() %}42{% endmacro %} |
| Armin Ronacher | 7c0116f | 2008-04-12 00:06:19 +0200 | [diff] [blame] | 9 | {% title = 'Hello World' %} |
| Armin Ronacher | 41ef36f | 2008-04-11 19:55:08 +0200 | [diff] [blame] | 10 | {% block body %} |
| 11 | {{ get_the_answer() }} |
| Armin Ronacher | 7c0116f | 2008-04-12 00:06:19 +0200 | [diff] [blame] | 12 | {{ helpers.conspirate() }} |
| Armin Ronacher | 41ef36f | 2008-04-11 19:55:08 +0200 | [diff] [blame] | 13 | {% endblock %} |
| 14 | ''', |
| 15 | 'master.html': u'''\ |
| 16 | <!doctype html> |
| Armin Ronacher | 7c0116f | 2008-04-12 00:06:19 +0200 | [diff] [blame] | 17 | <title>{{ title }}</title> |
| Armin Ronacher | 41ef36f | 2008-04-11 19:55:08 +0200 | [diff] [blame] | 18 | {% block body %}{% endblock %} |
| Armin Ronacher | f059ec1 | 2008-04-11 22:21:00 +0200 | [diff] [blame] | 19 | ''', |
| 20 | 'helpers.html': u'''\ |
| 21 | {% macro conspirate() %}23{% endmacro %} |
| Armin Ronacher | 41ef36f | 2008-04-11 19:55:08 +0200 | [diff] [blame] | 22 | ''' |
| 23 | })) |
| Armin Ronacher | 449167d | 2008-04-11 17:55:05 +0200 | [diff] [blame] | 24 | |
| 25 | |
| Armin Ronacher | 41ef36f | 2008-04-11 19:55:08 +0200 | [diff] [blame] | 26 | tmpl = env.get_template("child.html") |
| 27 | print tmpl.render() |