Django靜態檔案配置

2021-06-22 18:31:40 字數 1020 閱讀 4036

最近用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 在自身的開發伺服器上有著自身的淺藍色排版。部署到apache伺服器上會呈現一種無排版狀態。原因是 static 靜態檔案沒有配置。1.在設定檔案 settings.py 裡,新增 static url static static root os.path.join base dir,s...

Django靜態檔案配置

本文目的 最近用django開發專案,發現django的靜態檔案 js,css和img等 配置比較麻煩,開發環境和生產環境的配置還不一樣,這裡記錄一下,作為備忘。我當前使用的版本是django v1.4.3。吐槽 django的版本不相容是個大問題,網上搜尋相關問題時,解決方案到是一大推,但是均沒有...

django 靜態檔案配置

1.根目錄下,新建乙個目錄用來儲存靜態檔案 這裡我用的目錄名稱是jingtaiwenjian,並且建立了乙個test css.css的檔案 2.setting 中編輯配置資訊 static url static staticfiles dirs os.path.join base dir,jingt...