目錄
文章
分類
標籤
AI ai android Bitbucket C# C++ Certbot ChatGPT Cloudflare Code Runner CPE CPU排程 cron Daphne Django DNS設定 Docker fused-location Git GPT HTML HTTPS kotlin Line Bot Linux location-app Mac macOS MySQL n8n Next.js Nginx OpenAI permissions Python Python Django Pytorch pytorch PyTorch rclone React Redis Replit SSL streamlit Swap Ubuntu Unity Vector VM設定 VSCode WebSocket WordPress Wordpress wordpress-備份 yolo 中位數 伺服器設定 修復 最佳住址 利率 前端 動態生成 即時通訊 卷積神經網路 場景切換 學習 安全性 專案管理 帳號建立 影像分類 後台 性能 惡意軟體 成績查詢 投資 排序 操作系統 效率 教學 殖利率 深度學習 演算法 版本控制 物件偵測 神經網絡 程式解題 程式設計 競程 系統管理 終端機 統計 網頁框架 股票 自動化 財務 資料共享 資料結構 距離計算 路由 遊戲開發 選單 部署 開發 開發技巧 開發環境 開發者 雲端備份 靜態文件
目錄
目錄
382 字
2 分鐘
Daphne 無法抓取 CSS 解決方法
背景
Daphne 是用於運行 Django ASGI 應用的服務器。它主要負責處理 WebSocket 和 HTTP 請求,但 Daphne 本身不直接提供靜態文件服務(如 CSS、JS)。這通常導致在使用 Daphne 部署 Django 應用時,訪問 /static/ 路徑返回 404 錯誤。
問題現象
當使用 Daphne 啟動應用並訪問 Django 的後台管理介面或靜態頁面時,靜態文件無法正常加載,終端可能顯示以下錯誤:
1Not Found: /static/admin/css/login.css2Not Found: /static/admin/css/base.css問題原因
Daphne 不處理靜態文件。Django 預設需要 collectstatic 將所有靜態文件集中到一個目錄,並需要一個服務器(如 WhiteNoise 或 Nginx)來提供靜態文件支持。
解決方法
方法 1:使用 WhiteNoise 提供靜態文件
WhiteNoise 是一個用於提供靜態文件的中介軟體,適合簡單的部署需求。
步驟 1:安裝 WhiteNoise
在虛擬環境中安裝 WhiteNoise:
1pip install whitenoise步驟 2:配置 WhiteNoise
修改你的 settings.py 文件,添加以下配置:
-
啟用 WhiteNoise 中介
1MIDDLEWARE = [2'django.middleware.security.SecurityMiddleware',3'whitenoise.middleware.WhiteNoiseMiddleware', # 添加這一行4'django.contrib.sessions.middleware.SessionMiddleware',5'django.middleware.common.CommonMiddleware',6'django.middleware.csrf.CsrfViewMiddleware',7'django.contrib.auth.middleware.AuthenticationMiddleware',8'django.contrib.messages.middleware.MessageMiddleware',9'django.middleware.clickjacking.XFrameOptionsMiddleware',10] -
設置
STATIC_ROOT和STATICFILES_STORAGE1STATIC_URL = '/static/'2STATIC_ROOT = BASE_DIR / 'staticfiles' # 靜態文件的集中目錄34# 啟用壓縮和緩存5STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
步驟 3:收集靜態文件
執行以下命令,將所有靜態文件收集到 STATIC_ROOT 指定的目錄:
1python manage.py collectstatic步驟 4:啟動應用
使用 Daphne 啟動應用:
1daphne -b 127.0.0.1 -p 8000 classify.asgi:application訪問應用後,確認靜態文件是否正常加載。
部分資訊可能已經過時
目錄
文章
分類
標籤
AI ai android Bitbucket C# C++ Certbot ChatGPT Cloudflare Code Runner CPE CPU排程 cron Daphne Django DNS設定 Docker fused-location Git GPT HTML HTTPS kotlin Line Bot Linux location-app Mac macOS MySQL n8n Next.js Nginx OpenAI permissions Python Python Django Pytorch pytorch PyTorch rclone React Redis Replit SSL streamlit Swap Ubuntu Unity Vector VM設定 VSCode WebSocket WordPress Wordpress wordpress-備份 yolo 中位數 伺服器設定 修復 最佳住址 利率 前端 動態生成 即時通訊 卷積神經網路 場景切換 學習 安全性 專案管理 帳號建立 影像分類 後台 性能 惡意軟體 成績查詢 投資 排序 操作系統 效率 教學 殖利率 深度學習 演算法 版本控制 物件偵測 神經網絡 程式解題 程式設計 競程 系統管理 終端機 統計 網頁框架 股票 自動化 財務 資料共享 資料結構 距離計算 路由 遊戲開發 選單 部署 開發 開發技巧 開發環境 開發者 雲端備份 靜態文件
目錄