Почему 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 должна находиться в корне проекта, а не в приложении

Вернуться на верх