我正在尝试设置一个MEDIA_ROOT,但是当我在settings.py中设置它时,似乎没有被识别出来 . 例如,我的settings.py看起来像:
...
MEDIA_ROOT = '/static/files/'
...
在模板中(测试此更改) - 我试过:
Media root: {{ MEDIA_ROOT }}
static url: {{STATIC_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/#template-context-processors看到
MEDIA_ROOT
应该是文件系统路径,用于在磁盘上加载和保存媒体 . 应该没有任何理由在模板中使用它 . 如果您确实需要访问它,那么编写自己的上下文处理器就足以提供它了 .关于媒体处理器的文档,顺便说一下,是https://docs.djangoproject.com/en/1.3/ref/templates/api/#django-core-context-processors-media