django的静态文件配置我一直挺迷糊的,尤其岁数大了之后更迷糊了。
早期的django没有staticfiles这个app,导致在开发期得配置url来访问静态文件。访问的目录就在settings.py 文件中的STATICFILES_DIRS
中配置。但这时候得把所有的静态文件都集中在这些目录中,而我喜欢公用的放在一个目录下,其他的分app放,在django1.4之前不可能。
后来有个人为django开发了staticfiles这个app,就不需要把静态文件都放在STATICFILES_DIR
中指定的文件夹了,而是根据app放置,当然每个app下面得有个static
文件夹。访问静态文件也不需要在urls.py中配置了。
以前我想在模板文件中引用静态文件是这么写的:<script type="text/javascript" src="{{STATIC_URL}}javascript/jquery.js"></script>
,不过staticfiles提供了一个标签:
<!-- lang: html -->
{% load staticfiles %}
<img src="{% static "my_app/myexample.jpg" %}" alt="My image"/>
有啥优点不知道,反正用旧写法也没啥问题,至少暂时没问题。。。