功能越多,app.py 就會越長。今天先把重複的程式碼與檔案整理好。
步驟 1:確認最終專案結構
my-media-library/
├── app.py
├── database.py
├── requirements.txt
├── media.db
├── templates/
│ ├── base.html
│ ├── index.html
│ ├── page.html
│ ├── collection.html
│ ├── add.html
│ ├── edit.html
│ ├── detail.html
│ └── stats.html
├── static/
│ └── style.css
└── README.md
seed.py、check_db.py 和其他測試檔可以保留在開發環境中,但不必當作網站正式功能的一部分。
步驟 2:整理重複的狀態名稱
在 app.py 上方加入:
STATUS_LABELS = { "backlog": "待觀看/待遊玩", "watched": "已看", "playing": "遊玩中", "completed": "已通關"}
未來如果多個頁面需要顯示相同的狀態名稱,就可以統一管理,不必在每個地方重複寫判斷。
步驟 3:整理依賴套件
執行:
python -m pip freeze
這會列出目前虛擬環境中的套件版本。
將輸出結果整理到 requirements.txt。如果只使用 Flask 與 Python 內建的 SQLite、CSV 等模組,通常只需要 Flask 及其依賴套件;不需要額外安裝 SQLite 套件。
步驟 4:確認所有頁面仍可運作
重新啟動網站,逐一檢查首頁、電影、遊戲、統計、新增、詳細頁、編輯頁和匯出功能。