def render(self, context): try: template_name = self.template_name.resolve(context) theme = context['THEME'] theme_template = get_theme_template(template_name, theme=theme) try: t = get_template(theme_template) except TemplateDoesNotExist: t = get_default_template(template_name) return t.render(context) except: if settings.TEMPLATE_DEBUG: raise return ''
def render(self, context): theme = context['THEME'] theme_template = get_theme_template(self.template_path, theme=theme) try: try: t = get_template(theme_template) except TemplateDoesNotExist: t = get_default_template(self.template_path) self.template = t except: if settings.TEMPLATE_DEBUG: raise self.template = None if self.template: return self.template.render(context) else: return ''
def get_parent(self, context): if self.parent_name_expr: self.parent_name = self.parent_name_expr.resolve(context) parent = self.parent_name if not parent: error_msg = "Invalid template name in 'extends' tag: %r." % parent if self.parent_name_expr: error_msg += " Got this from the '%s' variable." % self.parent_name_expr.token raise TemplateSyntaxError(error_msg) if hasattr(parent, 'render'): return parent # parent is a Template object theme = context['THEME'] theme_template = get_theme_template(parent, theme=theme) try: template = get_template(theme_template) except TemplateDoesNotExist: #to be sure that we not are loading the active theme's template template = get_default_template(parent) return template
def render(self, context): context['setting_name'] = unicode(self.template_name).replace('MODULE_THEME_','').lower() try: setting_value = self.template_name.resolve(context) except VariableDoesNotExist: setting_value = None if setting_value: # First try to render this as a box user = AnonymousUser() if 'user' in context: if isinstance(context['user'], User): user = context['user'] try: filters = get_query_filters(user, 'boxes.view_box') box = Box.objects.filter(filters).filter(pk=setting_value) context['box'] = box[0] template = get_template('theme_includes/box.html') return template.render(context) except: # Otherwise try to render a template try: template_name = os.path.join('theme_includes',setting_value) theme = context['THEME'] theme_template = get_theme_template(template_name, theme=theme) try: t = get_template(theme_template) except TemplateDoesNotExist: t = get_default_template(template_name) return t.render(context) except: if settings.TEMPLATE_DEBUG: raise return '' else: return ''