mako template renderer for aiohttp.web
Switch branches/tags
Clone or download
pyup-bot and asvetlov Scheduled monthly dependency update for December (#103)
* Update coverage from 4.5.1 to 4.5.2

* Update pytest from 3.9.3 to 4.0.1

* Update pytest-sugar from 0.9.1 to 0.9.2
Latest commit 1b1cc11 Dec 2, 2018

README.rst

aiohttp_mako

https://travis-ci.org/aio-libs/aiohttp-mako.svg?branch=master Chat on Gitter

mako template renderer for aiohttp.web based on aiohttp_jinja2. Library has almost same api and support python 3.5 (PEP492) syntax. It is used in aiohttp_debugtoolbar.

Example

import asyncio
import aiohttp_mako
from aiohttp import web


@aiohttp_mako.template('index.html')
async def func(request):
    return {'head': 'aiohttp_mako', 'text': 'Hello World!'}

async def init(loop):
    app = web.Application(loop=loop)
    lookup = aiohttp_mako.setup(app, input_encoding='utf-8',
                                output_encoding='utf-8',
                                default_filters=['decode.utf8'])
    template = """<html><body><h1>${head}</h1>${text}</body></html>"""
    lookup.put_string('index.html', template)

    app.router.add_route('GET', '/', func)
    return app

loop = asyncio.get_event_loop()
app = loop.run_until_complete(init(loop))
web.run_app(app, host='127.0.0.1', port=9000)

License

aiohttp_mako is offered under the Apache 2 license.