Замечание
Эта секция пригодится только тем разработчикам, которые будут пытаться использовать шаблонную систему в качестве компонента другого приложения. Если вы используете эту систему как часть Django, вам эта информация не понадобится.
Для работы шаблонной системы Django загружает все необходимые
данные из своего конфигурационного файла, объединяя их с
параметрами проекта, которые указаны в модуле, определённом в
переменной среды DJANGO_SETTINGS_MODULE. Но в
случае, когда требуется применить шаблонную систему отдельно от
Django, использование переменной среды будет не совсем удобно.
Например, мне понадобилось создавать и отправлять своему менеджеру отчёт о проделанной работе. Менеджер мог понимать почтовые сообщения только в формате HTML, почтовое сообщение должно было быть отформатировано определённым образом. Я не мог заставить себя тратить полчаса на заполнение его «портянки». Поэтому был написан небольшой скрипт, который для генерации HTML представления сообщения использовал шаблонную систему Django. Описанное далее, учитывает мой опыт.
Для решения этой задачи потребуется использовать параметры
конфигурации, которые описаны в приложении «Параметры конфигурации». Это означает,
что переменная среды PYTHONPATH должна
указывать на каталог, где развёрнут Django, а также то, что вам
необходимо определить соответствующие параметры
конфигурации. Можно, конечно, создать скрипт в котором будет
определяться переменная среды
DJANGO_SETTINGS_MODULE (и, соответственно,
потребуется создать файл с настройками, как это происходит в
Django приложении), а затем вызываться скрипт. Но лучше сделать
следующее (на примере шаблонной системы):
import django
django.conf.settings.configure(TEMPLATE_DIRS = ('/home/rad/devel/cpr_report',))
Через запятую, можно определить столько параметров конфигурации,
сколько надо. Среди параметров могут быть такие как
TEMPLATE_DIRS (если вам потребуется
использовать шаблонные загрузчики),
DEFAULT_CHARSET (хотя использование
UTF-8 будет достаточным) и
TEMPLATE_DEBUG. Все доступные параметры
описаны в приложении «Параметры конфигурации», особый интерес
представляют параметры, начинающиеся с TEMPLATE_.
Небольшой пример:
import django
from django.template import Context, loader
django.conf.settings.configure(TEMPLATE_DIRS = ('/home/rad/devel/cpr_report',))
template = loader.get_template('cpr_report_template.html')
context = Context({'problems': info_problems or 'нет',
'plans': info_plans or 'нет',
'done': info_done or 'нет'})
html = template.render(context)
| Пред. | Уровень выше | След. |
| Использование встроенного шаблонного справочника | Начало | Глава 11. Генерация данных, отличных от HTML |
0 комментариев | Оставьте комментарий