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.1 (2016-04-28 17:35:34 -0500)

git log --reverse --pretty=format:'* %s [%h]' v0.1.0..release/0.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]

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

Uploaded Python 2Python 3

File details

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

File metadata

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

File hashes

Hashes for jinja_tornado-0.1.1.tar.gz
Algorithm Hash digest
SHA256 05d79a6ed08d549f1ee1c4fcbaf1b03d73fd942d69389ea7eb8b75556be3fcfc
MD5 0a14c8092ff86ddef893168848df6de1
BLAKE2b-256 3230984f8b93bd32b03d4d84611fcffb7220e3f614a5e86261e26ad42b152bd1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jinja_tornado-0.1.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 aba72540db90c37c752f407f2b51e2c603eb475ea63f7e356d71649cb0cb14e5
MD5 7038e03fac329b864b77daa3a255712d
BLAKE2b-256 38e6e71fbbe50c79893cc61efdc96df048b19db20c65b259d57e5156f6967a17

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