Django не показывает изображения после добавления нескольких окружений
Я пытаюсь добавить локальное и производственное окружение в свой проект Django. Поэтому вместо одного файла settings.py я создал каталог settings и в этом каталоге добавил 3 файла настроек: base.py, local.py и pro.py
настройки (директория)
- base.py (новое название для settings.py)
- local.py (наследуется от base.py с некоторыми переопределениями параметров)
- pro.py (наследуется от base.py с некоторыми переопределениями параметров)
В файле base.py я обновил параметр BASE_DIR, чтобы он указывал на родительскую папку текущего файла.
предыдущий BASE_DIR:
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
new BASE_DIR:
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(
os.path.join(__file__, os.pardir))))
Я не изменил статические и медиа корневые параметры (в base.py):
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')
Однако после изменения мои изображения больше не отображаются. Что я делаю неправильно?
os.path.join(__file__, os.pardir)
приведет к чему-то вроде /path/to/myproject/settings/base.py/..
.
Если вы переместили base.py
на уровень глубже (чем первоначальный settings.py
), вы можете просто добавить еще один os.path.dirname
, например,
BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))