CherryPy + Jinja, где инициализировать среду - PullRequest
2 голосов
/ 17 ноября 2011

Я пишу приложение на python, используя CherryPy и Jinja в качестве системы шаблонов. Может быть, нужно сказать, что я начинающий с этими инструментами. Проблема, с которой я сейчас сталкиваюсь, заключается в том, что я не могу понять, где инициализировать класс Environment Jinja.

В настоящее время у меня есть

  • application.py (точка входа, устанавливает среду и запускает сервер)
  • root.py (класс корневой страницы для cherrypy, должен быть импортирован из «application.py» и должен импортировать «application.py» для получения экземпляра среды Eniroment)
  • pages.py (другие классы страниц для cherry.py должны импортировать 'application.py' и должны быть импортированы из root для построения дерева)

Попытка запуска, которая заканчивается циклической ссылкой и завершается неудачей (приложение> root> pages> application).

Должен ли я придерживаться только одного экземпляра Environment или можно использовать экземпляр в root.py, а другой в pages.py?

?

Каков правильный шаблон для этого?

1 Ответ

0 голосов
/ 17 ноября 2011

Вы не должны повторяться . На вашем месте я создал бы новый модуль Python templates.py и поместил бы всю конфигурацию / создание среды jinja там. После этого вы можете просто импортировать эту среду в любое удобное для вас место (например, from templates import jinjaenv). В этом случае вы делаете вещи простыми и расширяемыми для будущего использования.

...