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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file japronto_jinja2-0.0.1.tar.gz.

File metadata

File hashes

Hashes for japronto_jinja2-0.0.1.tar.gz
Algorithm Hash digest
SHA256 c7890d395bbd05ef51665826fb222643dfa7b0e01dcd084f0a8f6452d583d0f5
MD5 b51f717d4213ab9975efb26b1293c2bd
BLAKE2b-256 853af3f37ba10529b04d0dc488b899e0d098d4d8e3fded31b9d0fdb5a55d52ff

See more details on using hashes here.

File details

Details for the file japronto_jinja2-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for japronto_jinja2-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0d86d2bda9d694a10c66140b661ef53844f19ce3845cbc534f792263fda628c8
MD5 b7abec14adcb0a79555a0404ca3b12f9
BLAKE2b-256 d7e74e53cf14c11b656e5394629993dbfb84e01c1531aa46a0cef5f096e34f78

See more details on using hashes here.

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