Django - staticfiles,STATIC_ROOT, STATIC_URL,STATICFILES_DIRS

staticfiles:这是一个静态资源管理的app,django.contrib.staticfiles。老的版本中,静态资源管理一直是一个问题,部分app发布的时候需要带上静态资源,在部署的时候必须将每个app存在的static静态资源复制到同一个static目录。引入staticfiles之后,执行命令:python manage.py collectstatic 就可以方便的将所用到的app中的静态资源复制到同一目录。

 

staticfiles的主要相关配置与分析

  • STATIC_ROOT:运行上边提到的命令:python manage.py collectstatic 之后静态文件将要复制到的目录,这个目录只有在运行collectstatic时候才会用到,不能想当然的以为这个目录和MEDIA_ROOT的作用是相同的,否则在开发环境的时候可能一直无法找到静态文件。

  • STATIC_URL:设置的static file的起始url,这个只是在template里边引用到,这个参数和MEDIA_URL的含义相同。

  • STATICFILES_DIRS:和TEMPLATE_DIRS的含义差不多,就是除了各个app的static目录以外还需要管理的静态文件设置,比如项目的公共文件差不多。

 

各个app目录下的静态文件static/django会自动找到,这个点和app下的templates目录下差不多。

 

在urls.py中加入静态文件处理的代码:

from django.contrib.staticfiles.urls import staticfiles_urlpatterns
# This will work if DEBUG is True
urlpatterns += staticfiles_urlpatterns()

  

posted @ 2015-04-24 16:49  梦的怒放ing  阅读(329)  评论(0编辑  收藏  举报