В pre-Django 1.3 существовали только две настройки:
MEDIA_ROOT : Абсолютный путь файловой системы к медиафайлам
MEDIA_URL: Абсолютный URL-адрес медиа-файлов, с доменом или без него.
В Post-Django 1.3 был представлен пакет contrib для статических файлов, и он довольно запутанный впервые.Вам понадобятся следующие настройки:
MEDIA_ROOT : Абсолютный путь файловой системы к загрузке пользователя
MEDIA_URL : Абсолютный URL-адрес для загрузки пользователя, сили без домена
STATIC_ROOT : Абсолютный путь файловой системы к каталогу статических файлов.Это папка, используемая командой управления collectstatic
.НЕ помещайте сюда файлы вручную.
STATIC_URL : Абсолютный URL-адрес каталога статических файлов с доменом или без него
Затем для каждого из ваших приложенийвы создаете «статический» каталог внутри, и это , куда идут ваши статические файлы.В процессе разработки Django автоматически подает эти файлы в STATIC_URL
.В производственной среде вы должны запустить команду управления collectstatic
, чтобы все они были перемещены в «статический» каталог проекта, который затем является сервером под STATIC_URL
.
Все это хорошо, но вы можете заметить,что это на самом деле не охватывает все.В проекте всегда есть статические файлы, которые не обязательно принадлежат тому или иному приложению, но установка статических файлов по умолчанию не дает вам места для их размещения.Таким образом, вы берете дело в свои руки с помощью дополнительной настройки:
STATICFILES_DIRS = (
"/absolute/path/to/myproject/assets/",
)
Здесь я использовал каталог с названием «assets» для статических файлов по всему проекту.Вы можете назвать каталог как угодно, только он НЕ МОЖЕТ совпадать с STATIC_ROOT
.
Последнее, что сбивает людей с толку, - это обслуживание администратора.Все, что вам нужно для этого сделать, это включить настройку:
ADMIN_MEDIA_PREFIX = STATIC_URL+'admin/'