Django对静态文件的处理——部署阶段

参考:http://blog.makto.me/post/2012-11-09/static-files-in-django-deployment

HTML模板中的用法:

{% load staticfiles %}
<img src="{% static "images/hi.jpg" %}" />

下面来总结下上面提到过的 settings.py 中的设置项:

  • STATIC_ROOT:执行 ./manage.py collectstatic 后,所有静态文件就会被收集到这个文件夹下;

  • STATIC_URL:静态文件的 URL 前缀,供类似 static,get_static_prefix 等模板标签使用;

  • STATICFILES_DIRS:除 每个应用目录下的 static/ 目录外,其他静态文件可能存放的目录;

  • STATICFILES_FINDERS:告诉 collectstatic 命令都需要去哪儿找静态文件,以及寻找的顺序,有点儿类似 TEMPLATE_LOADERS;

  • STATICFILES_STORAGE:collectstatic 命令所使用的存储引擎,默认情况下不用修改,使用内置的 StaticFilesStorage 即可。如果要使用 CDN 或云服务来提供静态资源,可以编写相应的存储引擎并替换即可。

  • INSTALLED_APPS:要使用上面这些功能,就要在这里开启 django.contrib.staticfiles 这个应用;另外,只有在这里出现的应用才会被 collectstatic 搜集到。

还有两个相关的设置项:

  • MEDIA_ROOT:用来存放用户上传文件的目录。

  • MEDIA_URL:用户上传文件的 URL 前缀。

posted @ 2015-02-27 10:03  flowjacky  阅读(285)  评论(0编辑  收藏  举报