django.contrib.statifiles的使用

1.简介:

django1.3开始,django使用了一个叫做staticfiles的contrib app
这个app主要是用来server静态文件的,与media的区别就是:
staticfiles是网站本身用到的images,css,js,而media就是定义为网站用户上传的头像,图片,文件等等,这样区分,容易管理文件。
static的优点在于集中管理django网站项目各个app使用的静态文件。

2.使用方法:

1.把你的静态文件放置在staticfiles可以找到的地方。

        默认情况下,就是在每个app的static文件夹下。如果放在其他文件夹的文件可以通过settings.py文件中的STATICFILES_DIRS来指定其位置。此外,STATICFILES_FINDERS中显示了系统是如何寻找文件的。

2.确认django.contrib.staticfiles被包含在INSTALLED_APPS中。

       默认情况下,我们就可以加/static前缀来访问我们放在各个app中static文件夹下得文件。

3.最好的访问方法就是如下:

<img src="{{STATIC_URL}}"images/hi.jpg" />
这样使用的前提就是我们已经设置了TEMPLATE_CONTEXT_PROCESSORS了。

3.发布静态文件

实际生产环境中,对于静态文件,我们需要使用独立的文件服务去运行,这时候我们需要将所有的静态文件整理到一起,看看django是怎么帮我们简化这一步骤的吧。

1.将STATIC_URL设置为公开的URL,很多时候直接设置成‘/static/’

2.设置用来收集各个应用的静态文件的文件夹。

            STATIC_ROOT="/home/mystatic"

3.运行collectstatic管理命令:

            ./manage.py collectstatic
    它会收集所有应用的static文件夹中的静态文件,然后放到STATIC_ROOT指定的文件夹中。
posted @ 2012-03-22 13:44  jianhong  阅读(236)  评论(0编辑  收藏  举报