jinja2 template support for tornado web framework
Project description
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.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]
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
Built Distribution
Hashes for jinja_tornado-0.1.3-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f6d0f6a9310fce1e5b6123be685550b53117c180b399c4c80cf94e31bbe5f00 |
|
MD5 | 444f5e550b041cea41c7cd7a15f9d117 |
|
BLAKE2b-256 | aed7929a604b02fddc8f98af3acb722facfaab1afe2c44bbc3902bd62a74c77a |