Skip to main content
Help improve PyPI by participating in a 5-minute user interface survey!

jinja2 template support for tornado web framework

Project Description

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

License

MIT License. See: LICENSE

History

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]

Release history Release notifications

This version
History Node

0.1.2

History Node

0.1.1

History Node

0.1.0

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 Apr 28, 2016
jinja_tornado-0.1.2.tar.gz (7.6 kB) Copy SHA256 hash SHA256 Source None Apr 28, 2016

Supported by

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