本文目的
最近用django開發專案,發現django的靜態檔案(js,css和img等)配置比較麻煩,開發環境和生產環境的配置還不一樣,這裡記錄一下,作為備忘。我當前使用的版本是django v1.4.3。
吐槽:django的版本不相容是個大問題,網上搜尋相關問題時,解決方案到是一大推,但是均沒有標註版本,導致均不能適用當前版本,走了不少彎路。
開發環境配置
需要下面幾個步驟
3. 設定settings.py中的static_url的值為「/static/」
5. 渲染模版的context物件需要換成requestcontext,否則模版中無法引用到static_url對應的值。
上面的操作步驟參見官方文件:
特別注意:按照上述設定,settings.py中的debug選項必須設定為true,否則'/static/'無法對映到靜態檔案目錄。參見這裡:
生產環境配置
我的發布環境是apache,這裡只介紹相關配置。
使用apache的靜態發布配置,而不使用django的配置,這也是django推薦的方式,因為django認為靜態檔案配置的方法交給伺服器,會更有效。你所需要做的就是在apahce的配置檔案中新增乙個alice,如下
# 注意結尾都沒有斜槓,全路徑也沒有。
# 如果alias後面的值有反斜槓結尾,那麼全路徑也需要有,保持一致
「/static」對應django settings.py中配置的static_url的值。然後新增directory選項,配置相關目錄的許可權。apache 2.4版本開始,對directory配置做出了調整,所以這裡需要注意,如下:
apache v2.4及以上版本,
apache v2.4以下版本
注意上面紅色部分。
tips:如果訪問靜態遇到403錯誤,此時說明路徑配置成功,離成功不遠了。只是路徑許可權沒有配置正確,這時可以看看apahce錯誤日誌,如果出現「client denied by server configuration」,說明是directory的許可權沒有配置正確,可以檢視自己的apache版本,然後做出響應配置。
希望本文對你有用!
Django靜態檔案配置
最近用django開發專案,發現django的靜態檔案 js,css和img等 配置比較麻煩,開發環境和生產環境的配置還不一樣,這裡記錄一下,作為備忘。我當前使用的版本是django v1.4.3。吐槽 django的版本不相容是個大問題,網上搜尋相關問題時,解決方案到是一大推,但是均沒有標註版本,...
Django 靜態檔案配置
django 在自身的開發伺服器上有著自身的淺藍色排版。部署到apache伺服器上會呈現一種無排版狀態。原因是 static 靜態檔案沒有配置。1.在設定檔案 settings.py 裡,新增 static url static static root os.path.join base dir,s...
django 靜態檔案配置
1.根目錄下,新建乙個目錄用來儲存靜態檔案 這裡我用的目錄名稱是jingtaiwenjian,並且建立了乙個test css.css的檔案 2.setting 中編輯配置資訊 static url static staticfiles dirs os.path.join base dir,jingt...