Может ли быть плохой идеей использовать dir проекта в качестве dir шаблона в Django? - PullRequest
1 голос
/ 06 февраля 2011

Не поймите меня неправильно, я не говорю о размещении моего HTML рядом с файлом settings.py, а скорее добавляю каталог проекта (который содержит файл settings.py) в список TEMPLATE_DIR, чтобы я Можно вызвать любой шаблон, назвав его 'app/template/file.html'.

Мне просто интересно, почему Django не поставляется с пространством имен шаблонов. Это заставляет вас либо:

  1. создайте директорию шаблона отдельно от всех приложений, затем создайте директорию для каждого приложения и вставьте в нее свой HTML.
  2. создайте каталог dir в каждом dir приложения и создайте в нем еще dir с именем приложения, затем поместите в него HTML.

Это не идеально, так как:

  1. заставляет вас оставлять HTML вне вашего приложения. Так много для того, чтобы быть подключаемым.
  2. нарушает DRY, вынуждая вас создать избыточное дерево каталогов project_dir/app_name/template/appname в противном случае, если у вас есть несколько шаблонов с именем 'index.html ', вы сильно ошибаетесь.

Так что плохая идея - просто определить dir проекта как dir шаблона для вызова всех файлов шаблона 'app_name/template/file.html'? Если да, то почему? Как бы вы сделали это чисто?

Ответы [ 2 ]

0 голосов
/ 06 февраля 2011

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

Может быть, стоит попробовать вместо этого создать собственный загрузчик шаблонов?

0 голосов
/ 06 февраля 2011

Я лично использую app_name/templates для шаблонов, связанных с приложением, и projects/templates для глобальных шаблонов.Лично я нахожу это полезным, так как мне действительно нравится слабая связь между моими приложениями и моими проектами, поэтому я склонен держать их оторванными.

Однако django дает вам свободу выбора.Если вы чувствуете себя хорошо с вашим выбором, я не вижу никаких проблем вообще.

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