Как я использую шаблоны Django без остальной части Django?

99
задан Josh Scholl 14 October 2013 в 14:30
поделиться

9 ответов

Решение просто. Это на самом деле , хорошо зарегистрировал , но не слишком легкий для нахождения. (Я должен был вырыть вокруг - это не подходило, когда я попробовал несколько различных поисков 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 (связанный выше) для описания некоторых настроек, которые можно хотеть определить (как аргументы ключевого слова для конфигурирования).

132
ответ дан Daryl Spitzer 24 November 2019 в 05:02
поделиться

Google AppEngine использует Django, обрабатывающего механизм по шаблону, Вы смотрели на то, как они делают это? Вы могли возможно просто использовать это.

0
ответ дан Hedde van der Heide 24 November 2019 в 05:02
поделиться

Я повторяю вышеупомянутые операторы. Джинджа 2 является довольно хорошим надмножеством шаблонов Django для общего использования. Я думаю, что они работают над созданием шаблонов Django, немного менее двойных к settings.py, но Джинджа должна преуспеть для Вас.

0
ответ дан Clint Ecker 24 November 2019 в 05:02
поделиться

Найденный этим:

http://snippets.dzone.com/posts/show/3339

1
ответ дан Lou Franco 24 November 2019 в 05:02
поделиться

Не делать. Используйте StringTemplate вместо этого - нет никакой причины рассмотреть любой другой движок шаблонов, как только Вы знаете об этом.

1
ответ дан Paul D. Waite 24 November 2019 в 05:02
поделиться

Я сказал бы Джинджа также. Это определенно более сильно , чем Джанго Темплэтинг Энджин, и это одинокое .

, Если это было внешним штепселем к существующему заявлению Джанго, Вы могли бы создать сделанная на заказ команда и использовать templating двигатель в своей среде проектов. Как это;

manage.py generatereports --format=html

, Но я не думаю, что стоит просто использовать Джанго Темплэтинга Энджина вместо Джинджи.

2
ответ дан muhuk 24 November 2019 в 05:02
поделиться

Я также рекомендовал бы jinja2. Существует хорошая статья о django по сравнению с jinja2, который дает некоторым подробно информацию о том, почему Вы должны предварительный друг позже.

7
ответ дан user7610 24 November 2019 в 05:02
поделиться

Какая-либо конкретная причина Вы хотите использовать шаблоны 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
9
ответ дан John Millikin 24 November 2019 в 05:02
поделиться

синтаксис 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'
44
ответ дан nosklo 24 November 2019 в 05:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: