Как использовать django-шаблон в скрипте вместо jinja2? - PullRequest
0 голосов
/ 17 января 2012

Я пишу команду управления для Django, и я создал файлы шаблонов, которые я анализирую для создания новых файлов.

До сих пор для этого я использовал Jinja2, но поскольку это команды управления Django, я бы хотел перейти на шаблон на основе Django.

Знаете ли вы, как я могу настроить среду шаблона в командном файле управления django?

То, что я ищу, является эквивалентом этого кода jinja2:

env = Environment(loader=PackageLoader('modulo.bin', 'templates/plugin_templates'))

РЕДАКТИРОВАТЬ: Хорошо, в командах управления это будет работать. Но что, если я хочу использовать django-template в обычном скрипте Python?

Спасибо

Rémy

Ответы [ 2 ]

1 голос
/ 17 января 2012

Команды управления Django имеют доступ ко всем переменным среды django, как это обычно бывает в представлении.

Чтобы загрузить шаблон, назначьте ему некоторый контекст и сохраните результаты:

from django.template.loader import render_to_string

c = {'var':'value','var2':'value2'}  # values you want to send to the template
content = render_to_string('template.html',c) # rendered template

Это соответствует обычным правилам шаблонов django, поэтому template.html должен быть загружаемым (другими словами, он должен находиться в «обычных» местах, где django ищет шаблоны, или в каталоге, указанном в TEMPLATE_DIRS).

1 голос
/ 17 января 2012

Вам не нужно настраивать какую-либо среду. Вы в команде Django, вы можете использовать шаблоны Django.

...