Использование шаблонного движка Django без остальной части Django - PullRequest
5 голосов
/ 25 января 2012

Я создаю приложение, которое использует шаблонизатор / язык Django для «компиляции» некоторого HTML.Тем не менее, приложение не работает на Django, и не имеет всех настроек и прочего.Когда я пытаюсь его использовать, я получаю следующую ошибку:

Traceback (most recent call last):
  File "Send.py", line 33, in <module>
    template = loader.get_template("email.html")
  File "/Library/Python/2.7/site-packages/django/template/loader.py", line 157, in get_template
    template, origin = find_template(template_name)
  File "/Library/Python/2.7/site-packages/django/template/loader.py", line 138, in find_template
    raise TemplateDoesNotExist(name)
django.template.base.TemplateDoesNotExist: email.html

Я использую следующий код:

from django.template import loader, Context
from django.conf import settings

template = loader.get_template("email.html")
rendered = template.render(data)

Шаблон находится в том же каталоге, что и Pythonфайл.

Ответы [ 3 ]

8 голосов
/ 25 января 2012

Я бы рекомендовал использовать Jinja2 вместо шаблонов Django в качестве автономного решения.

6 голосов
/ 25 января 2012

Вы пытались использовать это?

settings.configure(TEMPLATE_DIRS=('.',))

Поскольку шаблоны находятся в той же директории, что и код Python, этого должно быть достаточно для загрузчика, чтобы найти шаблон.

3 голосов
/ 25 января 2012

Для того, чтобы загрузчик нашел ваши шаблоны;у вас должен быть каталог, в котором расположены шаблоны в вашем TEMPLATE_DIRS кортеже в settings.py.По умолчанию django будет искать каталог templates внутри приложения , поэтому если у вас нет зарегистрированного приложения;django не может найти шаблоны.

Если вам нужен механизм шаблонов, похожий на django, jinja очень близок к синтаксису django и полностью самодостаточен, вы не столкнетесь с неожиданнымпроблемы, с которыми вы сталкиваетесь сейчас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...