Решение просто. Это на самом деле , хорошо зарегистрировал , но не слишком легкий для нахождения. (Я должен был вырыть вокруг - это не подходило, когда я попробовал несколько различных поисков Google.)
следующие работы кода:
>>> from django.template import Template, Context
>>> from django.conf import settings
>>> settings.configure()
>>> t = Template('My name is {{ my_name }}.')
>>> c = Context({'my_name': 'Daryl Spitzer'})
>>> t.render(c)
u'My name is Daryl Spitzer.'
Видят документацию Django (связанный выше) для описания некоторых настроек, которые можно хотеть определить (как аргументы ключевого слова для конфигурирования).
Google AppEngine
использует Django, обрабатывающего механизм по шаблону, Вы смотрели на то, как они делают это? Вы могли возможно просто использовать это.
Я повторяю вышеупомянутые операторы. Джинджа 2 является довольно хорошим надмножеством шаблонов Django для общего использования. Я думаю, что они работают над созданием шаблонов Django, немного менее двойных к settings.py, но Джинджа должна преуспеть для Вас.
Не делать. Используйте StringTemplate вместо этого - нет никакой причины рассмотреть любой другой движок шаблонов, как только Вы знаете об этом.
Я сказал бы Джинджа также. Это определенно более сильно , чем Джанго Темплэтинг Энджин, и это одинокое .
, Если это было внешним штепселем к существующему заявлению Джанго, Вы могли бы создать сделанная на заказ команда и использовать templating двигатель в своей среде проектов. Как это;
manage.py generatereports --format=html
, Но я не думаю, что стоит просто использовать Джанго Темплэтинга Энджина вместо Джинджи.
Я также рекомендовал бы jinja2. Существует хорошая статья о django
по сравнению с jinja2
, который дает некоторым подробно информацию о том, почему Вы должны предварительный друг позже.
Какая-либо конкретная причина Вы хотите использовать шаблоны Django? И Джинджа и Genshi, по-моему, выше.
<час>, Если Вы действительно хотите, затем посмотрите документация Django относительно settings.py
. Особенно раздел "Using settings without setting DJANGO_SETTINGS_MODULE
". Используйте что-то вроде этого:
from django.conf import settings
settings.configure (FOO='bar') # Your settings go here
синтаксис Jinja2 является в значительной степени тем же как Django с очень немногими различиями, и Вы получаете намного более мощный движок шаблонов, который также компилирует Ваш шаблон в байт-код (FAST!).
я использую его для шаблонной обработки, включая в Django самой, и это очень хорошо. Можно также легко записать расширения, если некоторая функция, которую Вы хотите, отсутствует.
Вот некоторая демонстрация генерации кода:
>>> import jinja2
>>> print jinja2.Environment().compile('{% for row in data %}{{ row.name | upper }}{% endfor %}', raw=True)
from __future__ import division
from jinja2.runtime import LoopContext, Context, TemplateReference, Macro, Markup, TemplateRuntimeError, missing, concat, escape, markup_join, unicode_join
name = None
def root(context, environment=environment):
l_data = context.resolve('data')
t_1 = environment.filters['upper']
if 0: yield None
for l_row in l_data:
if 0: yield None
yield unicode(t_1(environment.getattr(l_row, 'name')))
blocks = {}
debug_info = '1=9'