Skip to main content
License: MIT License

jinja2 support for tornado applications.

Install

$ python setup.py install

Usage

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 http://jinja.pocoo.org/docs/api/#jinja2.Environment """



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)
@environment.filter()
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

    <script>
      var obj = {{ obj | tojson | safe }}
    </script>

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

Todo

  • write tests

  • no more opinionated session implementation

  • implement template preprocessors

  • UIModules, and various ‘tornado’ template structures

Authors

License

MIT License. See: LICENSE

History

release/0.1.3 (2020-07-31 21:43:26 -0400)

git log --reverse --pretty=format:'* %s [%h]' v0.1.2..release/0.1.3
  • MRG: Merge tag ‘v0.1.2’ into develop [dfdd5a0]

  • REF: jinja_tornado.py: 2to3 py3 [ec31ca0]

  • RLS: setup.py,__init__.py: v0.1.3 [9d5ded4]

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: setup.py, __init__.py: 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: setup.py: PyPI trove classifiers [1e948a2]

  • BLD: setup.cfg: [wheel] universal=1 (py2.py3) [e2a35e9]

  • DOC: setup.py, __init__.py: v0.1.1 [7f3239a]

  • DOC: HISTORY.rst: git-changelog.py -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 README.md [f78735d]

  • Update jinja_tornado.py [6df0211]

  • Update README.md [01fa568]

  • REF: README.md -> README.rst [49927dd]

  • BLD,DOC: Makefile, README.rst, requirements.txt, setup.py: v0.1.0 packaging [d96bdf3]

  • DOC,BLD: HISTORY.rst, setup.py: add HISTORY.rst to long_description [4fbcb84]

  • DOC: README.rst: Authors [3f8dd1a]

  • DOC: setup.py: author, author_email, url [10e837a]

  • DOC: LICENSE: amend (MIT) LICENSE copyright [0e6641a]

  • BLD: MANIFEST.in: add MANIFEST.in [746358b]

  • BLD: Makefile: ‘python setup.py check -r -s’ [d196959]

  • DOC: HISTORY.rst: git-changelog.py -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: git-changelog.py -r release/v0.1.0 –hdr=- | pbcopy [e3b7d82]

  • MRG: Merge branch ‘release/v0.1.0’ [bf83680]

Download files

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

Source Distribution

jinja_tornado-0.1.3.tar.gz (8.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jinja_tornado-0.1.3-py2.py3-none-any.whl (5.9 kB view details)

Uploaded Python 2Python 3

File details

Details for the file jinja_tornado-0.1.3.tar.gz.

File metadata

  • Download URL: jinja_tornado-0.1.3.tar.gz
  • Upload date:
  • Size: 8.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.5

File hashes

Hashes for jinja_tornado-0.1.3.tar.gz
Algorithm Hash digest
SHA256 ebeabcfce6318e9ce7b88067ace6f2e02cf19d7dbcfa15791982ad2e704756cc
MD5 bbd78b37b3ceb48739120db35cde082d
BLAKE2b-256 02ba78a524a94820604b9fb0f068ab16471ba3f6fdba5de6a3b3688eb567f74c

See more details on using hashes here.

File details

Details for the file jinja_tornado-0.1.3-py2.py3-none-any.whl.

File metadata

  • Download URL: jinja_tornado-0.1.3-py2.py3-none-any.whl
  • Upload date:
  • Size: 5.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.5

File hashes

Hashes for jinja_tornado-0.1.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 1f6d0f6a9310fce1e5b6123be685550b53117c180b399c4c80cf94e31bbe5f00
MD5 444f5e550b041cea41c7cd7a15f9d117
BLAKE2b-256 aed7929a604b02fddc8f98af3acb722facfaab1afe2c44bbc3902bd62a74c77a

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page