Skip to content

Instantly share code, notes, and snippets.

@chaosx
Created June 21, 2016 06:02
Show Gist options
  • Select an option

  • Save chaosx/e4e4affcb8ee0104729b9a53acfdb005 to your computer and use it in GitHub Desktop.

Select an option

Save chaosx/e4e4affcb8ee0104729b9a53acfdb005 to your computer and use it in GitHub Desktop.
import tornado.web
from jinja2 import Environment, FileSystemLoader, TemplateNotFound
class TemplateRendering:
def render_template(self, template_name, **kwargs):
template_dirs = []
if self.settings.get('template_path', ''):
template_dirs.append(
self.settings["template_path"]
)
env = Environment(loader=FileSystemLoader(template_dirs))
try:
template = env.get_template(template_name)
except TemplateNotFound:
raise TemplateNotFound(template_name)
content = template.render(kwargs)
return content
class BaseHandler(tornado.web.RequestHandler, TemplateRendering):
def render2(self, template_name, **kwargs):
kwargs.update({
'settings': self.settings,
'STATIC_URL': self.settings.get('static_url_prefix', '/static/'),
'request': self.request,
'reverse_url': self.reverse_url,
})
content = self.render_template(template_name, **kwargs)
self.write(content)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment