我正在学习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" />
在模板代码中?
答案 0 :(得分:4)
硬编码网址<img src="/static/img/person.png" />
的问题在于,如果将来要更改静态网址,则必须通过所有文件将其替换为较新的网址,并且通常在生产中,有时我们希望使用CDN进行服务静态内容,不通过/static/
提供。
对于{% static %}
和{{ STATIC_URL }}
之间的其他差异,请检查此answer。