torinja

Integrate Tornado Web Framework and Jinja2 Templates


License
BSD-3-Clause
Install
pip install torinja==0.1.0

Documentation

Torinja

https://travis-ci.org/afg984/torinja.svg?branch=master

Integrate Tornado Web Framework and Jinja2 Templates

Requires Python >= 3.3 or Python 2.7.

Installation

pip install torinja

Usage

Configuration

Use torinja's Jinja2Env as the template_loader of your Application.

from tornado.web import Application
from torinja import Jinja2Env
from jinja2 import PackageLoader

application = Application(
    handlers=[],
    template_loader=Jinja2Env(
        loader=PackageLoader('myapp', 'templates'),  # You can pass any jinja2 loaders
    ),
    **other_settings
)

Jinja2Env is a jinja2.Environment subclass, so it accepts all the options to jinja2.Environment.

The only difference is that autoescape is set to True by default.

Handlers

In your handlers, you can call RequestHandler.render or RequestHandler.render_string as you would do with tornado templates.

class MyHandler(RequestHandler):

    def get(self):
        self.render('index.html', tornado='awesome', jinja2='rocks')

Templates

To use xsrf_form_html in your jinja2 templates, use it as a variable.

<form>
    {{ xsrf_form_html }}
    <input type="text" name="text">
    <!-- ... -->
</form>

Tests

To run the tests:

python tests.py