Проблема обновления media_root в django settings.py
Я пытаюсь настроить MEDIA_ROOT, однако, когда я устанавливаю это в файле settings.py, он, кажется, не распознается. Например, мой settings.py выглядит так:
...
MEDIA_ROOT = '/static/files/'
...
И в шаблоне (чтобы проверить это изменение) - я пытался:
Media root: {{ MEDIA_ROOT }}
static url: {{STATIC_URL }}
Статический URL-адрес отображается нормально, и я могу обновить и изменить его, и эти изменения отражены в тестовом шаблоне. Однако корень медиа всегда пустая строка. Есть ли какие-то дополнительные настройки, необходимые для начала использования MEDIA_ROOT - может кто-то указать мне на документацию, если так?
1 ответ
Есть две переменные контекста, которые должны быть доступны по умолчанию (если вы используете экземпляр RequestContext при рендеринге вашего шаблона:
MEDIA_URL
- предоставлено django.core.context_processors.media
STATIC_URL
- предоставлено django.code.context_processors.static
Оба эти контекстных процессора находятся в списке по умолчанию, как вы можете видеть на https://docs.djangoproject.com/en/1.3/ref/settings/
MEDIA_ROOT
предполагается, что это путь к файловой системе, и используется для загрузки и сохранения медиа на диске. Не должно быть никаких причин использовать его в шаблоне. Если вам действительно нужен доступ к нему, достаточно просто написать собственный контекстный процессор для его предоставления.
Документация по медиапроцессору, кстати, находится по адресу https://docs.djangoproject.com/en/1.3/ref/templates/api/