跳轉至

建立 2026-09-17 更新 2026-09-17

Deployment

官方文件:How to deploy Django。部署方式大致分成兩類:平台即服務(PaaS,如 Render、PythonAnywhere、Railway),設定簡單、不用自己管伺服器;以及自管伺服器(VPS,如 DigitalOcean、Linode),彈性最高,但需要自己設定 nginx、WSGI 伺服器(如 Gunicorn)、資料庫等。第一次部署建議先從 PaaS 開始,熟悉整體流程後,有需要再考慮自管伺服器。

上線前的共通準備

不論部署到哪個平台,都需要先確認:

  • DEBUG = False:正式環境絕不能開啟 DEBUG,否則錯誤時會把程式碼細節、環境變數暴露給訪客。
  • SECRET_KEY:改用環境變數讀取,不要寫死在程式碼或提交進版本控制。
  • ALLOWED_HOSTS:填入正式環境的網域,否則 Django 會直接拒絕請求。
  • 資料庫:多數 PaaS 建議正式環境改用 PostgreSQL,而不是開發用的 SQLite。
  • 靜態檔案:先執行 python manage.py collectstatic,見 Static Files

完整清單請對照官方的 Deployment checklist

部署到 Render

Render 是目前很受歡迎的 PaaS,有免費方案,官方也提供針對 Django 的部署指南:Deploy a Django App on Render,內容涵蓋建立 Web Service、設定 PostgreSQL、環境變數等完整步驟,是第一次部署 Django 的推薦起點。

部署到 Railway

Railway 同樣是開發者常用的 PaaS,用 Git 推送後自動建置部署,也能一併建立 PostgreSQL 資料庫服務,操作介面直覺,適合搭配 影音教學資源 中的部署示範影片跟著操作。

部署到 PythonAnywhere

PythonAnywhere 是專為 Python/Django 設計的雲端主機,免費方案不需要信用卡即可註冊,且直接在瀏覽器內的主控台操作,不需要熟悉 Linux 指令列,適合初學者第一次體驗「把網站放上網路」的完整流程。

自管伺服器(DigitalOcean、Linode 等)

如果選擇 DigitalOcean、Linode 這類 VPS 自行架設,需要自己安裝、設定 Python 環境、WSGI 伺服器(例如 Gunicorn)、資料庫,並用 nginx 作為對外的反向代理伺服器,處理靜態檔案與 HTTPS,詳見 nginx 設定。這個方式彈性最高、成本也可能最低,但需要自行負責伺服器的維運與安全性更新。

下一步

自管伺服器時,對外服務請求的第一關通常是 nginx,設定方式請見 nginx 設定;若想搭配影片跟著操作完整部署流程,請見 影音教學資源