0

我正在尝试设置 MEDIA_ROOT 但是当我在我的 settings.py 中设置它时,它似乎无法被识别。例如我的 settings.py 看起来像:

...

MEDIA_ROOT = '/static/files/'

...

在模板中(以测试此更改)-我尝试了:

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

静态 url 显示正常,我可以更新和更改它,这些更改会反映在测试模板中。但是媒体根始终是一个空字符串。开始使用 MEDIA_ROOT 是否需要一些额外的配置 - 如果是这样,有人可以指出我的文档吗?

4

1 回答 1

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/#template-context-processors中看到

MEDIA_ROOT应该是文件系统路径,用于在磁盘上加载和保存媒体。不应该有任何理由在模板中使用它。如果你真的需要访问它,编写你自己的上下文处理器来提供它很简单。

顺便说一句,有关媒体处理器的文档位于https://docs.djangoproject.com/en/1.3/ref/templates/api/#django-core-context-processors-media

于 2012-01-11T19:38:27.313 回答