Skip to main content

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]

Project details

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
jinja_tornado-0.1.2-py2.py3-none-any.whl (7.6 kB) Copy SHA256 hash SHA256 Wheel py2.py3
jinja_tornado-0.1.2.tar.gz (7.6 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page