v1.0.0
功能特性: - 前端文章展示 (Markdown渲染、代码高亮) - 后台管理系统 (文章、分类、标签、作者管理) - 图片上传 (点击、拖拽、粘贴) - 网站设置 (Logo、底部宣传图片上传) - 访问统计 (IP记录、趋势图表) - 参考来源、附件支持 - 单端口部署 (16012) 技术栈: - Flask 3.0 + SQLAlchemy - SQLite数据库 - marked.js + highlight.js (Markdown渲染) - Chart.js (统计图表)
技术博客系统
一个基于 Flask 的技术文章展示和管理系统。
功能特性
- 前端展示:文章列表、文章详情、分类筛选、标签筛选、热门文章
- 后台管理:文章管理、分类管理、标签管理、仪表盘统计
- 架构清晰:模型、服务、路由分层,便于维护扩展
项目结构
tech-blog/
├── app/ # 应用核心代码
│ ├── __init__.py # Flask应用工厂
│ ├── config.py # 配置文件
│ ├── models/ # 数据模型
│ │ ├── article.py # 文章模型
│ │ ├── category.py # 分类模型
│ │ ├── tag.py # 标签模型
│ │ └── admin.py # 管理员模型
│ ├── routes/ # 路由控制器
│ │ ├── frontend.py # 前端路由
│ │ └── admin.py # 后台路由
│ ├── services/ # 业务服务层
│ │ ├── article_service.py
│ │ ├── category_service.py
│ │ ├── tag_service.py
│ │ └── admin_service.py
│ ├── templates/ # 模板文件
│ │ ├── frontend/ # 前端模板
│ │ └── admin/ # 后台模板
│ └── static/ # 静态资源
│ └── css/
├── migrations/ # 数据库迁移
├── data/ # 数据库文件目录
├── tests/ # 测试文件
├── requirements.txt # 依赖清单
├── run.py # 启动脚本
├── .env # 环境变量
└── README.md
安装部署
1. 安装依赖
cd works/tech-blog
pip install -r requirements.txt
pip install python-slugify # 额外的slug生成依赖
2. 初始化数据库
export FLASK_APP=run.py
flask init-db
3. 创建管理员账户
flask create-admin admin your_password
4. 启动服务
python run.py
服务将在端口 16012 上运行。
访问地址
使用说明
后台管理
- 使用创建的管理员账户登录后台
- 在分类管理中创建文章分类
- 在标签管理中创建标签
- 在文章管理中创建和发布文章
前端展示
- 首页显示已发布的文章列表
- 点击文章标题查看详情
- 通过分类和标签筛选文章
- 侧边栏显示热门文章和最新文章
技术栈
- 后端:Flask 3.0 + SQLAlchemy
- 数据库:SQLite(可轻松切换到 PostgreSQL)
- 前端:Jinja2 模板 + CSS
- 部署:单端口 16012
扩展建议
- 添加 Markdown 渲染支持
- 添加评论功能
- 添加搜索功能
- 添加用户权限管理
- 添加 API 接口
- 切换到 PostgreSQL 数据库
Description
Languages
HTML
45.2%
Python
41%
CSS
13.8%