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()

  

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。