Сохранение HTML с помощью Jinja (или языка шаблонов Django) в модели Sqlite

Я пытаюсь сохранить HTML с выводом Jinja в модель Sqlite.

Я хочу, чтобы отрисованный вывод (без фигурных скобок {} или знаков %%) сохранялся в модели.

Я понятия не имею, как его отформатировать.

Попробовал функцию render_to_string, но она не кажется подходящим решением.

Спасибо.

Мы используем render_to_string, почему бы и нет?

class MyModel(models.Model):
    template = 'myapp/mymodel_template.html'
    ...

    ...
    rendered = models.TextField(_('Rendered context'), blank=True, default='')
    # we use RichTextUploadingFieldWidget to edit this field, if it needed.

    def save(self, *args, **kwargs):
        if not self.rendered:
            self.rendered = render_to_string(self.template, self.context)
        return super().save(*args, **kwargs)

self.template - атрибут из класса, содержит шаблон.

self.context - некоторый метод или поле с данными dict, которые обеспечивают контекст для рендеринга.

Вернуться на верх