static文件相關操作涉及:
a. 文件位置與訪問路徑映射
b. setting.py與static相關配置
STATIC_URL
STATIC_ROOT
STATICFILES_DIRS
c. html中對于static文件引用方式
d. python manage.py collectstatic
1. 開發環境-目錄結構
2. setting.py 設置
STATIC_URL = '/static/'
# STATIC_ROOT= os.path.join(BASE_DIR,'static')
STATICFILES_DIRS=(
os.path.join(BASE_DIR,'static'),
)
STATIC_URL中設定的為瀏覽器實際訪問地址。
STATICFILES_DIRS 對應文件路徑
3. 開發環境-訪問測試
4. html引用(django jinja2模版)
4.1 硬地址直接使用
html head部分
Title$(document).ready(function () {
$("h1").click(function () {
$("h1").hide()
})
})
4.2 引用使用
Title{% load staticfiles %}
$(document).ready(function () {
$("h1").click(function () {
$("h1").hide()
})
})
5. 線上部署問題
當需要同時部署admin時
運行命令收集static文件 python manage.py collectstatic
此時報錯
修改setting.py文件
STATIC_URL = '/static/'
STATIC_ROOT= os.path.join(BASE_DIR,'static')
# STATICFILES_DIRS=(
# os.path.join(BASE_DIR,'static'),
# )
再運行 python manage.py collectstatic
完成后“static_root”即static目錄,產生其他其他項目的static文件夾(含內容)
收集完成后改回配置,注釋掉static_root
STATIC_URL = '/static/'
# STATIC_ROOT= os.path.join(BASE_DIR,'static')
STATICFILES_DIRS=(
os.path.join(BASE_DIR,'static'),
)
程序打包,上傳到服務器,測試通過