示例#1
0
  def render(self, template_name, passed_vars, response_code = 200, 
          response_type=False, prettyPrint=False, template_set='site', template_theme=None):
    """Main render helper function. Wraps other rendering functions
    
    """
    if not response_type:
      response_type = self.request.response_type()

    prettyPrint = bool(self.request.get('prettyPrint', False))
    
    if response_type == 'json':
      return self.render_json(passed_vars, response_code)
    else:
      # setup jinja
      jinja.setup(self.config.paths.template_sets)
      
      # setup variables
      passed_vars = self.get_template_vars(passed_vars)
      passed_vars = self.get_plugin_vars(passed_vars)
      
      # Get template_set and template_theme
      template_set = self.get_template_set()
      template_theme = self.get_template_theme(template_set)
      
      # logging.info('Rendering with: template_name: %s template_theme: %s template_set: %s and variables:' % (template_name, template_theme, template_set))
      # logging.info(passed_vars)
      
      content = jinja.render(template_name, passed_vars, template_theme=template_theme, template_set=template_set)
    
    self.render_content(content, response_code)
示例#2
0
 def render_feed(self, template_name, template_vars):
   template_extension = 'xml'
   template_vars['buildDate'] = datetime.datetime.now()
   jinja.setup(self.config.paths.template_sets)
   template_vars = self.get_template_vars(template_vars)
   template_set = self.get_template_set()
   template_theme = self.get_template_theme(template_set)
   content = jinja.render(template_name, template_vars, template_theme=template_theme, template_set=template_set, template_extension=template_extension)    
   headers = [('Content-Type', "application/%s; charset=utf-8" % ('xml'))]
   return self.render_content(content, 200, headers)