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
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)