Загрузить шаблон django из базы данных - PullRequest
12 голосов
/ 17 марта 2010

Я пытаюсь визуализировать шаблон django из базы данных вне нормальной структуры запроса-ответа djangos. Но это кажется нетривиальным из-за способа компиляции шаблонов django. Я хочу сделать что-то вроде этого:

>>> s = Template.objects.get(pk = 123).content
>>> some_method_to_render(s, {'a' : 123, 'b' : 456})
>>> ... the rendered output here ...

Как ты это делаешь?

Ответы [ 2 ]

32 голосов
/ 17 марта 2010

В этом нет ничего сложного, и оно не имеет ничего общего со структурой запрос / ответ. Все, что вам нужно сделать, это передать строку шаблона в конструктор django.template.Template (кстати, я изменил название вашей модели, чтобы не путать):

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)))
9 голосов
/ 20 июня 2011

Существует многоразовое приложение, которое загружает шаблоны из базы данных:

http://django -dbtemplates.readthedocs.org / ен / последний /

...