Skip to main content

jinja2 async template renderer for japronto web server

Project description

## japronto_jinja2

[jinja2](http://jinja.pocoo.org) asynchronous template renderer for [japronto](https://github.com/squeaky-pl/japronto).

### Installation

Install from PyPI: ` pip install japronto-jinja2 `

### Developing

Install requirement and launch tests: ` pip install -e .[dev] pytest `

### Usage

Before template rendering you have to setup jinja2 environment first:

import jinja2
from japronto import Application

app = Application()
japronto_jinja2.setup(app, loader=jinja2.FileSystemLoader('/path/to/templates/folder'))

After that you may to use template engine in your web-handlers. The most convenient way is to decorate a web-handler.

Using the function based web handlers:

@ajapronto_jinja2.template('tmpl.jinja2')
def handler(request):
    return {'action': 'follow', 'person': 'me'}

On handler call the japronto_jinja2.template decorator will pass returned dictionary {‘action’: ‘follow’, ‘person’: ‘me’} into template named tmpl.jinja2 for getting resulting HTML text.

If you need more complex processing (modify response on your own) you may call render_template function.

Using a function based web handler:

async def handler(request):
    context = {'action': 'unsubscribe', 'from': 'channel'}
    response = aiohttp_jinja2.render_template('tmpl.jinja2',
                                              request,
                                              context)
    # do smth with your response
    return response

See [examples](https://github.com/bmwant/japronto-jinja2/tree/master/examples) directory for more complete snippets.

### License

japronto_jinja2 is offered under the Apache 2 license.

CHANGES

0.0.1 (2016-05-10)

  • Initial release

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

japronto_jinja2-0.0.1.tar.gz (45.9 kB view hashes)

Uploaded Source

Built Distribution

japronto_jinja2-0.0.1-py3-none-any.whl (5.1 kB view hashes)

Uploaded Python 3

Supported by

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