Почему Django не может найти папку static в BASE_DIR?
У меня есть такие каталоги:
└── MY_FOLDER
├── MY_PROJECT
│ └── settings.py
│
├── MY_APP
├── STATIC
│ └── style.css
├── MEDIA
└── manage.py
В файле settings.py я указал:
BASE_DIR = Path(__file__).resolve().parent.parent
STATIC_URL = 'static/'
STATICFILES_DIR = (os.path.join(BASE_DIR,'static'))
Когда я
print(STATICFILES_DIR)
Я получаю путь: MY_FOLDER/STATIC - что именно я и хотел.
Но Django не видит никакого css там, в этой папке.
Я попробовал поместить свой css в MY_APP/STATIC и он начал работать правильно. Но я хочу, чтобы он был не в MY_APP, а в BASE_DIR/STATIC. Как это сделать?
Или, если это невозможно, как сделать правильный путь для STATICFILES_DIR, чтобы он мог искать мою статику во всех приложениях, которые я буду добавлять в будущем. Не только в одном приложении, сделав следующее:
STATICFILES_DIR = (os.path.join(BASE_DIR,'MY_APP','static'))
Спасибо.
Всегда ищите документацию, вы неправильно называете директиву, и она также должна быть списком.
STATICFILES_DIRS = [
BASE_DIR / "static",
]
Попробуйте это:
STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]
Примечание: ваша папка static должна быть в нижнем регистре и убедитесь, что папка static должна находиться в корне проекта, а не в приложении