Django - staticfiles,STATIC_ROOT, STATIC_URL,STATICFILES_DIRS

staticfiles:這是一個靜態資源管理的app,django.contrib.staticfiles。老的版本中,靜態資源管理一直是一個問題,部分app發佈的時候須要帶上靜態資源,在部署的時候必須將每一個app存在的static靜態資源複製到同一個static目錄。引入staticfiles以後,執行命令:python manage.py collectstatic 就能夠方便的將所用到的app中的靜態資源複製到同一目錄。python

 

staticfiles的主要相關配置與分析django

  • STATIC_ROOT:運行上邊提到的命令:python manage.py collectstatic 以後靜態文件將要複製到的目錄,這個目錄只有在運行collectstatic時候纔會用到,不能想固然的覺得這個目錄和MEDIA_ROOT的做用是相同的,不然在開發環境的時候可能一直沒法找到靜態文件。app

  • STATIC_URL:設置的static file的起始url,這個只是在template裏邊引用到,這個參數和MEDIA_URL的含義相同。url

  • STATICFILES_DIRS:和TEMPLATE_DIRS的含義差很少,就是除了各個app的static目錄之外還須要管理的靜態文件設置,好比項目的公共文件差很少。blog

 

各個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()
相關文章
相關標籤/搜索