Я переключаю среды с рабочего стола Linux на ноутбук с Windows, поэтому жесткие пути кодирования у меня тоже не будут работать.
Возможно, есть лучший способ сделать это, но я написал эту функцию, которая идет вверху моего settings.py, чтобы получить абсолютный путь от относительного пути в моем проекте:
#settings.py
import os
def map_path(directory_name):
return os.path.join(os.path.dirname(__file__), \
directory_name).replace('\\', '/')
Это позволяет мне сделать:
MEDIA_ROOT = map_path('static')
TEMPLATE_DIRS = (
map_path('templates'),
)
"static" и "templates" живут в корне моего проекта. Надеюсь, это поможет вам.