如何从Django模板中获取MEDIA_URL?

Naf*_*Kay 3 django django-templates

我对Django如何使用静态内容进行操作感到困惑.本质上,在settings.py文件中,我们定义MEDIA_URL了在解析静态媒体(如脚本和样式)时要使用的URL的哪些点,以及MEDIA_ROOT对文件系统中的实际位置的引用.

然而,这似乎并不清楚,我怎么能访问MEDIA_URL从一个模板,它是一种-的重要,如果我想使用Django的机制在所有负载静态内容.基本上,我的基本模板看起来有点像这样:

<html>
   <head>
       {% block styles %}
       <link rel="stylesheet" href="{{ MEDIA_URL }}styles/master.css"/>
       {% endblock %}
       <title>{% block title %}Page Title{% endblock %}</title>
   </head>
   <body>
      {% block scripts %}
      <script type="text/javascript" src="{{ MEDIA_URL }}scripts/jquery.js"></script>
      {% endblock %}
   </body>
</html>
Run Code Online (Sandbox Code Playgroud)

以上代码是否真的有效?我听说你必须使用其他插件才能得到类似这样的东西,这看起来很奇怪,因为推测定义背后的重点MEDIA_URL是在模板中使用它.

Dan*_*aab 5

STATIC_URL在模板中访问,请确保django.core.context_processors.static已进入TEMPLATE_CONTEXT_PROCESSORS,并且您正在使用RequestContext.更多细节在这里.

此外,静态文件应放在STATIC_URL,而不是MEDIA_URL,除非它是用户上传的内容.