iT邦幫忙

0

Day 20|記錄觀看日期與個人心得

  • 分享至 

  • xImage
  •  

今天要讓收藏網站具有「回憶錄」的功能,不只是作品列表。
步驟 1:新增資料庫欄位
在根目錄建立 migrate_day20.py:
from database import get_db_connectionconnection = get_db_connection()columns = { row["name"] for row in connection.execute( "PRAGMA table_info(media)" ).fetchall()}if "finished_date" not in columns: connection.execute(""" ALTER TABLE media ADD COLUMN finished_date TEXT """)connection.commit()connection.close()print("日期欄位已準備完成。")

執行一次:
python migrate_day20.py

這裡先檢查欄位是否存在,再決定要不要新增,避免重複執行時因欄位已存在而報錯。
步驟 2:在新增與編輯表單中加入日期
在 add.html 和 edit.html 的心得欄位前加入:
觀看/通關日期

如果這段條件式在你目前的模板中不易理解,也可以在新增頁使用:

而在編輯頁使用:

步驟 3:修改新增和編輯路由
在兩個路由讀取表單的位置加入:
finished_date = request.form.get("finished_date", "").strip() or None

新增作品的 INSERT 語句加入 finished_date 欄位與對應的 ? 參數。

例如:
INSERT INTO media (
title, media_type, year, genre,
status, rating, notes, finished_date
)
VALUES (?, ?, ?, ?, ?, ?, ?, ?)

參數清單最後加上:
finished_date

編輯作品則在 UPDATE 語句加入:
finished_date = ?

並在參數清單中加入 finished_date,位置要與 SQL 中的問號順序一致。
步驟 4:顯示日期與心得
在 detail.html 中加入:

測試
新增一部已看電影,填入日期和心得;再進入詳細頁,確認兩者都能顯示。重新啟動網站後,日期仍然應該存在。


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言