autoescape = True,
# Enable asyncio
- #enable_async = True,
+ enable_async = True,
# Cache templates for forever
cache_size = -1,
return ns
- def render_string(self, template_name, **kwargs):
+ async def render_string(self, template_name, **kwargs):
"""
Generates the given template with the given arguments.
"""
namespace = self.get_template_namespace()
namespace.update(kwargs)
- return template.render(**namespace)
+ return await template.render_async(**namespace)
+
+ async def render(self, template_name, **kwargs):
+ """
+ Generates the given template and sends it as the response.
+ """
+ html = await self.render_string(template_name, **kwargs)
+
+ # Send the response
+ self.finish(html)
def write_error(self, code, exc_info=None, **kwargs):
try:
# Fetch the total length of the queue
queue_length = await self.backend.jobs.queue.get_length()
- self.render("index.html", running_jobs=running_jobs,
+ await self.render("index.html", running_jobs=running_jobs,
finished_jobs=finished_jobs, queue_length=queue_length)
class LogHandler(base.BaseHandler):
- def get(self):
+ async def get(self):
kwargs = {
# Pagination
"offset" : self.get_argument_int("offset", None) or 0,
"user" : self.get_argument_user("user", None),
}
- self.render("log.html", **kwargs)
+ await self.render("log.html", **kwargs)