Exemplo n.º 1
0
def render_content(text,self=None):
    for library in settings.INCLUDE_TAG_LIBRARIES:
        text = "{%% load %s %%}" % library + text

    t = template.Template(text)
    if self is None or not self.pk:
        c = template.Context({'self': None })
    else:
        c = template.Context({'self': self })

    extra_context = {}
    for key in settings.RENDER_EXTRA_CONTEXT:
        try:
            extra_context[key] = load_component(settings.RENDER_EXTRA_CONTEXT[key])
        except:
            extra_context[key] = settings.RENDER_EXTRA_CONTEXT[key]

        if issubclass(extra_context[key],models.Model):
            try:
                extra_context[key] = extra_context[key].objects.all()
            except:
                pass

    c.update(extra_context)
    text = t.render(c)

    for renderer, kwargs in settings.RENDERERS:
        text = load_component(renderer)(text,**kwargs)

    return text
Exemplo n.º 2
0
 def formfield_for_dbfield(self, db_field, **kwargs):
     if db_field.name == 'content_raw':
         kwargs['widget'] = load_component(settings.WIDGET) or forms.Textarea
     return super(RenderedContentAdminMixin, self).formfield_for_dbfield(db_field, **kwargs)