sanic/examples/jinja_example/jinja_example.py

29 lines
751 B
Python
Raw Normal View History

# Render templates in a Flask like way from a "template" directory in
# the project
2016-12-13 06:18:33 +00:00
from sanic import Sanic
2017-05-13 15:01:35 +01:00
from sanic.response import html
from jinja2 import Environment, PackageLoader, select_autoescape
2016-12-13 06:18:33 +00:00
app = Sanic(__name__)
# Load the template environment with async support
template_env = Environment(
loader=PackageLoader('jinja_example', 'templates'),
autoescape=select_autoescape(['html', 'xml']),
enable_async=True
)
# Load the template from file
template = template_env.get_template("example_template.html")
2016-12-13 06:18:33 +00:00
@app.route('/')
async def test(request):
rendered_template = await template.render_async(
knights='that say nih; asynchronously')
2017-05-13 15:01:35 +01:00
return html(rendered_template)
2016-12-13 06:18:33 +00:00
2017-05-13 15:01:35 +01:00
app.run(host="127.0.0.1", port=8080)