Skip to main content

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

Authors

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]

Project details


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.2.tar.gz (7.6 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.2-py2.py3-none-any.whl (7.6 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: jinja_tornado-0.1.2.tar.gz
  • Upload date:
  • Size: 7.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for jinja_tornado-0.1.2.tar.gz
Algorithm Hash digest
SHA256 cd057e64ced98f0c15f62dba467fe9876d587bb3d39c2926628cd0e1c7fdb516
MD5 8362a8a73cce9a40e01b60e35dde6b44
BLAKE2b-256 f4e564543072182c3f2882975f34c0cd0c9481662fe7dd032e1686a3b9695d23

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jinja_tornado-0.1.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 6c42d9de061e139874ba6dd0c42b04affa7a352c1333aa803ef3424062a8936b
MD5 619583dd02ed8619aa59320d72b802a5
BLAKE2b-256 96cd29cee1822ba8d7d3cf088beb56914230a6326539f89771de87dbc659b9a8

See more details on using hashes here.

Supported by

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