Flask 个人博客开发记录

这个博客是用 Flask 搭建的,本文记录整个开发过程。

技术选型

部分 选择 理由
后端 Flask 轻量、简单、生态成熟
文章存储 Markdown 文件 无需数据库,方便维护
渲染 Python-Markdown 开箱即用
前端 原生 HTML/CSS 博客不需要复杂框架

核心思路

文章直接放在 posts/ 目录下,每个 .md 文件就是一篇博客:

posts/
├── welcome.md
├── markdown-guide.md
└── flask-blog.md

每篇文章开头用 --- 包裹的 frontmatter 声明元信息:

---
title: 文章标题
date: 2026-08-20
summary: 摘要
tags: Flask, Python
---

后端读取文件、解析元信息、把正文渲染成 HTML,就这么简单。

踩过的坑

  1. 文件路径:要基于 app.py 所在目录拼接 posts 路径,避免在不同目录启动时报错。
  2. Markdown 扩展:代码块需要开启 fenced_code 扩展,否则无法渲染。
  3. 中文乱码:读写文件务必指定 encoding='utf-8'

小结

用文件系统当"数据库",对个人博客来说足够可靠也足够简单。以后新增文章,只需要往 posts/ 里放一个 .md 文件即可。