Django: Как лучше всего структурировать глобальные теги-шаблоны? - PullRequest
4 голосов
/ 15 февраля 2010

Я понимаю, что шаблоны тегов в основном используются специально для приложений INSTALLED_APPS, таких как article / templatetags /, но в моем случае мне нужны теги для таких общих вещей, как навигация, у которой нет приложения.

В настоящее время я храню templatetags в директории моего проекта. и для того, чтобы его забрали, я добавил свой проект в INSTALLED_APPS - это работает, но я не уверен, что это было правильно - есть ли недостатки?

1 Ответ

6 голосов
/ 15 февраля 2010

Я бы сделал это так же, как Django предоставляет дополнительные теги шаблонов, то есть создает собственный пакет / приложение (django.contrib.humanize, django.contrib.markup, django.contrib.webdesign)

Это всего лишь три "нормальных" пакета, в которых есть пакет templatetags. Имя модуля внутри tempaltetags совпадает с именем пакета / приложения (например, humanize.py).

Затем положите его куда-нибудь, где Python сможет его найти.

Вы также можете создать некий "мета" пакет templatetags и поместить все туда, например,

templatetags
 - navigation
   - __init__.py
   - templatetags
      - _init__.py
      - navigation.py
 - other
  - ...

Конечно, вы должны добавить их к себе INSTALLED_APPS (например, templatetags.navigation) и загрузить их в свой шаблон (например, {% load navigation %}).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...