目錄
文章
分類
標籤
AI ai android bettercap Bitbucket C# C++ CDN Certbot ChatGPT Cloudflare Code Runner CPE CPU排程 cron Daphne Django DNS設定 Docker ftp fused-location Git Gmail API GPT hashcat HTML HTTPS hydra kotlin Line Bot Linux location-app Mac macOS MySQL n8n Next.js Nginx nmap NVIDIA OpenAI openssl permissions Python Python Django Python Email Pytorch pytorch PyTorch R2 rclone React Redis Replit SSL streamlit Swap Traefik Ubuntu Unity Vector Vera CPU VM設定 VPS VSCode WebSocket Wi-Fi WordPress Wordpress wordpress-備份 yolo YOLOv9 中位數 代理型 AI 企業市值 伺服器設定 修復 儲存空間 最佳住址 利率 前端 動態生成 即時通訊 卷積神經網路 台股 場景切換 學習 安全性 實作 專案管理 帳號建立 影像分類 後台 性能 惡意軟體 成績查詢 成績管理 技巧 投資 排序 操作系統 效率 教學 本地測試 殖利率 深度學習 清理 滲透測試 演算法 版本控制 物件偵測 神經網路 科技產業 程式解題 程式設計 競程 系統管理 終端機 統計 經濟成長 網域綁定 網站恢復 網頁框架 股票 自動化 自駕車 財務 資料共享 資料庫 資料結構 資訊安全 距離計算 路由 遊戲開發 選單 部署 郵件發送 開發 開發技巧 開發環境 開發者 雲端備份 靜態文件
目錄
目錄
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 bettercap Bitbucket C# C++ CDN Certbot ChatGPT Cloudflare Code Runner CPE CPU排程 cron Daphne Django DNS設定 Docker ftp fused-location Git Gmail API GPT hashcat HTML HTTPS hydra kotlin Line Bot Linux location-app Mac macOS MySQL n8n Next.js Nginx nmap NVIDIA OpenAI openssl permissions Python Python Django Python Email Pytorch pytorch PyTorch R2 rclone React Redis Replit SSL streamlit Swap Traefik Ubuntu Unity Vector Vera CPU VM設定 VPS VSCode WebSocket Wi-Fi WordPress Wordpress wordpress-備份 yolo YOLOv9 中位數 代理型 AI 企業市值 伺服器設定 修復 儲存空間 最佳住址 利率 前端 動態生成 即時通訊 卷積神經網路 台股 場景切換 學習 安全性 實作 專案管理 帳號建立 影像分類 後台 性能 惡意軟體 成績查詢 成績管理 技巧 投資 排序 操作系統 效率 教學 本地測試 殖利率 深度學習 清理 滲透測試 演算法 版本控制 物件偵測 神經網路 科技產業 程式解題 程式設計 競程 系統管理 終端機 統計 經濟成長 網域綁定 網站恢復 網頁框架 股票 自動化 自駕車 財務 資料共享 資料庫 資料結構 資訊安全 距離計算 路由 遊戲開發 選單 部署 郵件發送 開發 開發技巧 開發環境 開發者 雲端備份 靜態文件
目錄