2010-02-20 2 views
9

Что делает Django с MEDIA_ROOT точно? Я никогда этого не понимал. Поскольку Django сам не обслуживает статические носители, и вам нужно настроить apache или что-то подобное для него, почему он заботится о том, в каком каталоге он находится?Что делает Django с `MEDIA_ROOT`?

ответ

9

Вы не единственный, кто задается вопросом; проверьте Django ticket #10650. На основе комментариев разработчиков Django там, я думаю, что это в значительной степени подводит итог, что MEDIA_ROOT используется для:

К сожалению, Django также виноват за то, что слишком расплывчатым в его документы о том, что MEDIA_ROOT и MEDIA_URL являются используется для. Поиск по коду Django подтверждает, что MEDIA_ROOT & MEDIA_URL используются для загрузки файлов и что MEDIA_URL предоставляется как удобство для шаблонов с помощью стандартных контекстных процессоров (доступно при использовании RequestContext ??).

+1

Thats great research work - peppergrower. – Jibin

2

Он по-видимому используется некоторыми классами в Django по умолчанию - например, FileSystemStorage использует его как место по умолчанию для хранения файлов.

2

При создании модели с атрибутами ImageField или FileField вы должны передать аргумент upload_to. Это относительный путь будет добавлен к вашему пути MEDIA_ROOT, и будут сохранены и извлечены эти файлы.

Смежные вопросы