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

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aiohttp_jinja2-0.5.0-py3-none-any.whl (5.4 kB view details)

Uploaded Python 3

File details

Details for the file aiohttp_jinja2-0.5.0.tar.gz.

File metadata

File hashes

Hashes for aiohttp_jinja2-0.5.0.tar.gz
Algorithm Hash digest
SHA256 cfbc01b73ef147b3e41afa2fe4090433eef338d433ebaf49063b4939fb7bd3ce
MD5 3a84670ccf69f3b6fb9b9fa8d7def2b2
BLAKE2b-256 0078ce3484825e85629a92ff47fb8eea364cd9a65ee25b2a21391a4485db2546

See more details on using hashes here.

File details

Details for the file aiohttp_jinja2-0.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for aiohttp_jinja2-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8986321ac939094021a4a01e6ff26107e74677b1561f3389beee8b437546c458
MD5 25140104addd98734712a7f529c0505c
BLAKE2b-256 d4ed31c4e5da48332535c0bce23b327e1d3dfa284ed91fc2fc79e8c5d545ed9a

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