前置作業
在開始設定之前,若你還沒將環境建立起來的話,先安裝 Django 並建立專案:
# 安裝 Django
python -m pip install Django
# 查看 Django 版本
python -m django --version
# 建立 Django 專案
django-admin startproject <project-name>
專案預設結構如下:
project-name/
├── project-name
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ ├── wsgi.py
安裝 WhiteNoise
我們可以透過 pip 安裝 WhiteNoise,方式如下:
python -m pip install whitenoise
設定 WhiteNoise
基本上,WhiteNoise 與 Django 的整合度很好,所以在 settings.py 中就可以完全大部分的設定步驟。跟著以下範例將設定加入 settings.py:
# 將 WhiteNoise 加入 Middleware
MIDDLEWARE = [
...
'whitenoise.middleware.WhiteNoiseMiddleware',
]
# 設定靜態文件所在位置
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
複製靜態文件
剛剛我們已經設定靜態文件所在位置,接下來需要把各 Application 的靜態資源集中至該位置。而 Django 已經提供了一個簡單的方式:
python manage.py collectstatic --noinput
當以上步驟都完成後,將 Django 啟動後 WhiteNoise 就會自動開始 Serve 靜態資源。
Environment :
・ Debian
Reference :
・ WhiteNoise