Лучший способ структурировать сайт с помощью медиа, чтобы отделить его от основного кода. (Мнение основано) - PullRequest
0 голосов
/ 26 апреля 2011

Я недавно взял новый сервер под свое крыло, на котором установлена ​​интересная установка django. Предыдущий разработчик смешивал мультимедийные загрузки со статическим контентом, а в других модулях создавал свой собственный каталог на уровне корневых файлов проекта. Моей первой реакцией на это было общее раздражение. (Я большой поклонник модульной разработки.) Однако после работы над «исправлением» возникает вопрос.

Даже если этот вопрос помечен django, не стесняйтесь публиковать ответы в соответствии с java и asp.net.

Как настроить статические файлы? Вы складываете все внутри статического каталога, или вы берете временную связь каждого модульного независимо?

Один из моих приемов для каждого запускаемого приложения django заключается в том, что в init .py указанного приложения я добавляю следующее.

import os
from django.conf import settings as djsettings
TEMPLATES_DIR = (os.path.join(os.path.dirname(__file__),'./templates'),)
djsettings.TEMPLATES_DIR += TEMPLATES_DIR

Ответы [ 2 ]

3 голосов
/ 26 апреля 2011

Я не думаю, что ваш трюк действительно нужен (больше).

Если вы используете django.template.loaders.app_directories.Loader ( docs ), вы можете поместить шаблон dir в каталог dir вашего приложения и Djangoпроверит его на наличие шаблонов для вашего приложения

. Начиная с Django 1.3, вы можете использовать приложение staticfiles, чтобы сделать нечто подобное со всеми вашими статическими медиа-файлами.Проверьте документы для staticfiles-finders

Итак, наконец, благодаря команде управления collectstatic вы теперь можете сохранять свои статические медиа-файлы модульными (дляупрощение разработки и распространения), но вы все равно можете объединить их в централизованном месте, как только наступит время развертывания и обслуживания вашего проекта.

0 голосов
/ 26 апреля 2011

Прямо сейчас у меня есть привычка помещать папку static в каждый каталог приложения, содержащий его статические файлы.Я храню шаблоны в каждом каталоге приложения под templates.Я называю путь static при размещении приложения за nginx или apache.

Одна вещь, которую я начинаю делать больше, - это размещение статических файлов, таких как javascript, css или изображений, за CDN, например S3..

...