Flask 如何做草稿、發布、下架流程:內容站不能只有「顯示或刪除」
很多人第一個 Flask 內容站做好後,文章通常只有一種狀態,就是存在資料庫裡就顯示出來。這在最小可用版本沒有問題,但只要你開始把網站當成內容站來經營,就會很快發現這樣不夠。因為真正的內容管理,通常不只是「有」或「沒有」,而是會有草稿、已發布、下架這幾種狀態。 先講草稿。草稿的價值很直接,就是讓你文章還沒寫完、還沒檢查好、還沒排好結構時,...
很多人第一個 Flask 內容站做好後,文章通常只有一種狀態,就是存在資料庫裡就顯示出來。這在最小可用版本沒有問題,但只要你開始把網站當成內容站來經營,就會很快發現這樣不夠。因為真正的內容管理,通常不只是「有」或「沒有」,而是會有草稿、已發布、下架這幾種狀態。
先講草稿。草稿的價值很直接,就是讓你文章還沒寫完、還沒檢查好、還沒排好結構時,能先存起來而不是直接公開。這對教學站、品牌站、文章站尤其重要,因為很多內容不是一次就能寫到最好,而是需要反覆補充與修正。
再講已發布。這通常代表文章已經準備好,可以出現在首頁、列表頁、分類頁與 sitemap 裡,也應該能被搜尋引擎正常看到。
下架則是第三種常見狀態。有些文章可能內容過時、連結失效、主題不再適合公開,但你又不想真的把資料刪掉。這時候下架就很有價值,因為它保留了資料本身,也讓你有機會之後重新整理再上線。
如果把這三種狀態濃縮成最簡單的理解,可以這樣看:
草稿:先存起來,不公開
已發布:正常對外顯示
下架:保留資料,但先不對外顯示這種流程一旦出現,你的網站就不再只是資料展示,而開始有內容管理系統的味道。
在實作上,最常見的做法通常是幫文章加一個 `status` 欄位,例如 `draft`、`published`、`archived`。接著首頁、文章列表、sitemap、搜尋等公開區域,只去抓 `published` 的內容;後台則可以看到全部狀態,並允許切換。
這件事之所以重要,是因為它會影響很多地方。像首頁要不要顯示、搜尋引擎能不能抓、文章是否能被分享、導覽裡會不會出現,這些都會跟狀態有關。也就是說,一旦你開始做草稿與發布流程,網站就會開始從「寫了就出現」進化成「有控管的內容發布」。
對一個想長期經營的 Flask 內容站來說,草稿、發布、下架流程很值得早點建立。因為它能讓你把內容品質控住,也能讓網站管理方式更接近真正的編輯流程,而不是每篇文章都只能硬著頭皮直接上。