def __getitem__(self, partial_name): if partial_name not in self.partials: from djangobars.template.loader import get_template template = get_template(partial_name) if template: self.partials[partial_name] = template.fn return self.partials.get(partial_name)
def render(self, context): context.render_context.push() try: s = self.fn( context, helpers=self.helpers, partials=self.partials) return unicode(s) except KeyError, e: from djangobars.template.loader import get_template partial_name = str(e).strip("'") template = get_template(partial_name) self.partials[partial_name] = template.fn return self.render(context)
def _compile_partial(self, partial_name): from djangobars.template.loader import get_template template = get_template(partial_name) self.partials[partial_name] = template.fn