Пользовательские шаблоны Django в Google App Engine
Я пытаюсь включить следующий тег в веб-приложение Google App Engine:
http://www.djangosnippets.org/snippets/1357/
Есть ли какая-либо конфигурация этого файла, чтобы он работал с Google App Engine?
Потому что я следил за учебниками по шаблонам Django: http://docs.djangoproject.com/en/dev/howto/custom-template-tags/
и имеют следующую структуру:
templatetags/
__init__.py
range_template.py
в файле шаблона, у меня есть {% load range_template%}
Но я получаю сообщение об ошибке:
TemplateSyntaxError: 'range_template' не является допустимой библиотекой тегов: не удалось загрузить библиотеку шаблонов из django.templatetags.range_template, без модуля с именем range_template
Другое, что может быть проблемой, почему это не работает, - файл INSTALL_APPS settings.py. Не знаете, как его настроить.
У меня есть файл settings.py в корне моего приложения и включил это:
INSTALLED_APPS = ('templatetags')
Приветствуются любые советы.
Ответы
Ответ 1
попробуйте сделать следующее:
$ python ./manage.py startapp foo
Добавить foo в установленные приложения:
INSTALLED_APPS += ('foo',)
И переместите свой каталог templatetags в ваше приложение foo. Что-то вроде:
./djangoproject
__init__.py
settings.py
urls.py
etc..
foo/
__init__.py
templatetags/
__init__.py
range_template.py
Соглашение Django заключается в том, что код тега шаблона находится в приложениях, в каталогах с именем templatetags (см. документы). Я предполагаю, что то же самое верно для GAE.
Ответ 2
Если кто-то ищет это, я написал небольшую статью в 2008 году об этом: http://daily.profeth.de/2008/04/using-custom-django-template-helpers.html
Ответ 3
Обязательно перезапустите сервер разработки после выполнения вышеуказанного шага.