def render_template(self, template, **params): """Renders a specified html template passing in params and the user profile if available""" j = Registry.get('jinja_env') t = j.get_template(template) return t.render(params, profile = self.profile, user_url = self.user_url)
import webapp2 import os import jinja2 from fastnote.handler.index import IndexHandler from fastnote.handler.note import NoteHandler # This is redundant as it's used in Fastnote too from main.utils.registry import Registry # This needs to be moved into a component resusable by all apps def create_jinja_env(): template_dir = os.path.join(os.path.dirname(__file__), 'templates') return jinja2.Environment(loader = jinja2.FileSystemLoader(template_dir), autoescape = True) # Set the jinja2 environment into the registry Registry.add('jinja_env', create_jinja_env()) PAGE_RE = r'(/(?:[a-zA-Z0-9_-]+/?)*)' app = webapp2.WSGIApplication([('/fastnote', IndexHandler), ('/fastnote/notes', NoteHandler), ('/fastnote/notes/(\d+)', NoteHandler)] , debug=True)
def render_template(self, template, **params): j = Registry.get("jinja_env") t = j.get_template(template) return t.render(params)