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