Загрузите шаблон django из базы данных
Я пытаюсь отобразить шаблон django из базы данных вне обычной структуры запроса-ответа djangos. Но, похоже, это нетривиально из-за того, как скомпилированы шаблоны django. Я хочу сделать что-то вроде этого:
>>> s = Template.objects.get(pk = 123).content
>>> some_method_to_render(s, {'a' : 123, 'b' : 456})
>>> ... the rendered output here ...
Как вы это делаете?
Ответы
Ответ 1
В этом нет ничего сложного, и это не имеет никакого отношения к структуре запроса/ответа. Все, что вам нужно сделать, это передать строку шаблона в конструктор django.template.Template
(BTW, я изменил имя вашей модели, чтобы избежать путаницы):
from django.template import Context, Template
from myapp.models import DbTemplate
s = DbTemplate.objects.get(pk=123).content
tpl = Template(s)
tpl.render(Context(dict(a=123, b=456)))
Ответ 2
Существует многократно используемое приложение, которое загружает шаблоны из базы данных:
http://django-dbtemplates.readthedocs.org/en/latest/