Django - 什么是不同的{%static%}和/ static /?

时间:2017-09-19 16:55:52

标签: python django

我正在学习Django。在我的settings.py中:

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')

当我尝试在模板中添加图片时,

<img src="{% static "img/person.png" %}"/>

<img src="{{ STATIC_URL }}img/person.png" />

<img src="/static/img/person.png" />

所有三个都在浏览器中显示为:

<img src="/static/img/person.png" />

然后,他们之间有什么不同?

如果没有问题,可以使用

<img src="/static/img/person.png" /> 

在模板代码中?

1 个答案:

答案 0 :(得分:4)

硬编码网址<img src="/static/img/person.png" />的问题在于,如果将来要更改静态网址,则必须通过所有文件将其替换为较新的网址,并且通常在生产中,有时我们希望使用CDN进行服务静态内容,不通过/static/提供。

对于{% static %}{{ STATIC_URL }}之间的其他差异,请检查此answer