Сохранение 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, которые обеспечивают контекст для рендеринга.