0

简单的问题:

{{ STATIC_URL }}部署中的变量会发生什么?例如,如果我使用这样的过滤器:

@register.filter
def new_filter(g):
    from myapp import settings
    STATIC_URL = settings.STATIC_URL
    return STATIC_URL + 'dir/' + g

我会遇到问题还是 Django 仍然指向与STATIC_URLlocalhost 中的相同?

我已经阅读了文档,但我仍然不确定这一点。

问候

4

1 回答 1

2

您的过滤器将始终指向settings.STATIC_URL故事结尾中定义的任何内容。

如果您更改生产设置,您的过滤器现在将指向您的新STATIC_URL. 如果你不这样做,它不会。

如果您STATIC_URL是相对 URL,您的 URL 将自动解析到主机。

  • /static/on development 可能会被查找为 localhost/static/
  • /static/在生产 example.com 上,浏览器将尝试 example.com/static/

如果它是绝对的,那么生产或开发浏览器将读取相同的资源,直到您更改STATIC_URL.

于 2012-05-28T19:13:38.490 回答