Skip to main content

jinja2 template renderer for aiohttp.web (http server for asyncio)

Project description

aiohttp_jinja2

jinja2 template renderer for aiohttp.web.

Usage

Before template rendering you have to setup jinja2 environment first:

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

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

@aiohttp_jinja2.template('tmpl.jinja2')
def handler(request):
    return {'name': 'Andrew', 'surname': 'Svetlov'}

On handler call the aiohttp_jinja2.template decorator will pass returned dictionary {'name': 'Andrew', 'surname': 'Svetlov'} into template named tmpl.jinja2 for getting resulting HTML text.

If you need more complex processing (set response headers for example) you may call render_template function:

@asyncio.coroutine
def handler(request):
    context = {'name': 'Andrew', 'surname': 'Svetlov'}
    response = aiohttp_jinja2.render_template('tmpl.jinja2',
                                              request,
                                              context)
    response.headers['Content-Language'] = 'ru'
    return response

License

aiohttp_jinja2 is offered under the Apache 2 license.

CHANGES

0.5.0 (2015-07-09)

  • Introduce context processors #14

  • Bypass StreamResponse #15

0.4.3 (2015-06-01)

  • Fix distribution building: add manifest file

0.4.2 (2015-05-21)

  • Make HTTPInternalServerError exceptions more verbose on console output

0.4.1 (2015-04-05)

  • Documentation update

0.4.0 (2015-04-02)

  • Add render_string method

0.3.1 (2015-04-01)

  • Don’t allow non-mapping context

  • Fix tiny documentation issues

  • Change the library logo

0.3.0 (2015-03-15)

  • Documentation release

0.2.1 (2015-02-15)

  • Fix render_template function

0.2.0 (2015-02-05)

  • Migrate to aiohttp 0.14

  • Add status parameter to template decorator

  • Drop optional response parameter

0.1.0 (2015-01-08)

  • 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

aiohttp_jinja2-0.5.0.tar.gz (44.7 kB view hashes)

Uploaded Source

Built Distribution

aiohttp_jinja2-0.5.0-py3-none-any.whl (5.4 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