Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

jinja2 template support for tornado web framework

Project Description
License: MIT License

jinja2 support for tornado applications.


$ python install


from jinja_tornado import JinjaApp, JinjaTemplateMixin

application = tornado.web.Application( ... )

environment = JinjaApp.init_app(application)
"""init_app returns jinja2 environment that is used by application.
takes a dict as second argument which contains your custom jinja 2
settings for environment constructor.
see """

class JinjaEnabledHandler(JinjaTemplateMixin, tornado.web.RequestHandler):
    """ this Handler supports
        - `self.session` properties (as flask.session) and `session` in template
        - `self.render` method
        - `self.render_string` method """

# custom filters, tests, globals
environment = JinjaApp.init_app(application)
def foo_to_bar(x):
    return x.replace('foo', 'bar')

Template variables

request        => tornado.web.RequestHandler.request
session        => tornado.web.RequestHandler.get_secure_cookie('session')
path_args      => tornado.web.RequestHandler.path_args
path_kwargs    => tornado.web.RequestHandler.path_kwargs
settings       => tornado.web.RequestHandler.application.settings
reverse_url    => tornado.web.RequestHandler.application.reverse_url
static_url     => tornado.web.RequestHandler.static_url
xsrf_form_html => tornado.web.RequestHandler.xsrf_form_html
datetime       => datetime (python module)
locale         => tornado.web.RequestHandler.locale
_              => tornado.web.RequestHandler.locale.translate
handler        => tornado.web.RequestHandler (self)
current_user   => tornado.web.requestHandler.current_user

Template filters

tojson       => JSON-encode the given python object

      var obj = {{ obj | tojson | safe }}

xhtml_escape => tornado.escape.xhtml_escape
url_escape   => tornado.escape.url_escape
squeeze      => tornado.escape.squeeze
linkify      => tornado.escape.linkify


  • write tests
  • no more opinionated session implementation
  • implement template preprocessors
  • UIModules, and various ‘tornado’ template structures


MIT License. See: LICENSE


release/0.1.2 (2016-04-28 17:43:11 -0500)

git log --reverse --pretty=format:'* %s [%h]' v0.1.1..release/0.1.2
  • MRG: Merge tag ‘v0.1.1’ into develop [a78880c]
  • DOC: README.rst: source link to most recent maintainer [4c55b41]
  • DOC:, v0.1.2 [25707e8]

v0.1.1 (2016-04-28 17:38:37 -0500)

git log --reverse --pretty=format:'* %s [%h]' v0.1.0..v0.1.1
  • MRG: Merge tag ‘vv0.1.0’ into develop [dc7d3e6]
  • DOC: PyPI trove classifiers [1e948a2]
  • BLD: setup.cfg: [wheel] universal=1 (py2.py3) [e2a35e9]
  • DOC:, v0.1.1 [7f3239a]
  • DOC: HISTORY.rst: -r release/0.1.1 –hdr=- | pbcopy [616610b]
  • MRG: Merge branch ‘release/0.1.1’ [34f9b9a]

v0.1.0 (2016-04-28 17:15:48 -0500)

git log --reverse --pretty=format:'* %s [%h]' b8d13ce..v0.1.0
  • initial commit [2defc31]
  • 2nd commit [c05ab84]
  • now it is a package [0993866]
  • fixed __init__ and readme [2f1171e]
  • Update [f78735d]
  • Update [6df0211]
  • Update [01fa568]
  • REF: -> README.rst [49927dd]
  • BLD,DOC: Makefile, README.rst, requirements.txt, v0.1.0 packaging [d96bdf3]
  • DOC,BLD: HISTORY.rst, add HISTORY.rst to long_description [4fbcb84]
  • DOC: README.rst: Authors [3f8dd1a]
  • DOC: author, author_email, url [10e837a]
  • DOC: LICENSE: amend (MIT) LICENSE copyright [0e6641a]
  • BLD: add [746358b]
  • BLD: Makefile: ‘python check -r -s’ [d196959]
  • DOC: HISTORY.rst: -r release/v0.1.0 –hdr=- | pbcopy [824a131]
  • BLD: Makefile, requirements[-dev].txt: development requirements [54113b5]
  • BLD: Makefile: twine register because HTTPS [c4d1535]
  • DOC: HISTORY.rst: -r release/v0.1.0 –hdr=- | pbcopy [e3b7d82]
  • MRG: Merge branch ‘release/v0.1.0’ [bf83680]
Release History

Release History

This version
History Node


History Node


History Node


Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
jinja_tornado-0.1.2-py2.py3-none-any.whl (7.6 kB) Copy SHA256 Checksum SHA256 py2.py3 Wheel Apr 28, 2016
jinja_tornado-0.1.2.tar.gz (7.6 kB) Copy SHA256 Checksum SHA256 Source Apr 28, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting