проблема обновления media_root в django settings.py - PullRequest
0 голосов
/ 11 января 2012

Я пытаюсь настроить MEDIA_ROOT, однако, когда я устанавливаю это в файле settings.py, он, кажется, не распознается. Например, мой файл settings.py выглядит так:

...

MEDIA_ROOT = '/static/files/'

...

А в шаблоне (чтобы проверить это изменение) - я пробовал:

Media root: {{ MEDIA_ROOT }}
static url: {{STATIC_URL }}

Статический URL отображается нормально, и я могу обновлять и изменять его, и эти изменения отражаются в тестовом шаблоне. Однако корень медиа всегда пустая строка. Есть ли какие-то дополнительные настройки, необходимые для начала использования MEDIA_ROOT - может кто-то указать мне на документацию, если так?

1 Ответ

1 голос
/ 11 января 2012

Существуют две переменные контекста, которые должны быть доступны по умолчанию (если вы используете экземпляр RequestContext при отображении шаблона:

MEDIA_URL - предоставляется django.core.context_processors.media

STATIC_URL - предоставлено django.code.context_processors.static

Оба этих контекстных процессора находятся в списке по умолчанию, как вы можете видеть в https://docs.djangoproject.com/en/1.3/ref/settings/#template-context-processors

MEDIA_ROOT предполагаетсяпуть к файловой системе, используется для загрузки и сохранения мультимедиа на диске. Не должно быть никаких причин использовать его в шаблоне. Если вам действительно нужен доступ к нему, достаточно просто написать собственный контекстный процессор для его предоставления..

Документация на медиапроцессор, кстати, находится по адресу https://docs.djangoproject.com/en/1.3/ref/templates/api/#django-core-context-processors-media

...