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__))))
Вернуться на верх