Django and staticfiles
Pavel Zagrebelinкогда ты запрашиваешь урл (/static/1.txt), который уходит в static files, то джанга отрезает от него ту часть, которая в настройках указана как STATIC_URL. То, что останется, ищется вначале в путях, которые прописаны в STATICFILES_DIRS, потом оно перебирает все приложения, заходит там в папку static и ищет вот тот остаточек там.
Это поведение по умолчанию и настраивается в настройке STATICFILES_FINDERS.
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
При настройке на девелопе главный вопрос - как выглядит сообщение об ошибке.
разница одна - есть список урлов или нет.
если список урлов есть (рис.1) - значит не установился обработчик static урлов. Если списка нет, значит обработчик работает, но не может найти запрошенный файл.
В случае продакшена там всё проще - ./manage.py collectstatic проходит по всем местам, которые я указал выше, собирает там вообще все файлы, и сваливает их в STATIC_ROOT.
nginx знает только про этот STATIC_ROOT и не лезет за статикой в недра жанго-приложений.