Что именно Django делает с MEDIA_ROOT? Я никогда этого не понимал. Поскольку сам Django не обслуживает статические носители, и вам нужно настроить apache или что-то подобное для него, почему его волнует, в каком каталоге он находится?
MEDIA_ROOT
Ты не единственный, кто задается вопросом; проверить Джанго билет # 10650 . Основываясь на комментариях разработчиков Django, я думаю, что это в значительной степени подводит итог того, для чего используется MEDIA_ROOT:
К сожалению, Джанго также виноват в том, что он слишком расплывчат в своих документах о том, что MEDIA_ROOT и MEDIA_URL используются для. Поиск по коду Джанго подтверждает, что MEDIA_ROOT и MEDIA_URL используются для загрузки файла, а MEDIA_URL предоставляется в виде удобство шаблонов через стандартные контекстные процессоры (доступно при использовании RequestContext ??).
Когда вы создаете модель с атрибутами ImageField или FileField, вы должны передать аргумент upload_to. Это относительный путь, который будет добавлен к вашему пути MEDIA_ROOT, и эти файлы будут сохранены и извлечены.
По-видимому, он используется некоторыми классами в Django по умолчанию - например, FileSystemStorage использует его как место по умолчанию для хранения файлов.