Files
tech-blog/README.md
hz4th_coder e689fed71e 初始化技术博客项目
功能特性:
- 前端文章展示 (Markdown渲染、代码高亮)
- 后台管理系统 (文章、分类、标签、作者管理)
- 图片上传 (点击、拖拽、粘贴)
- 网站设置 (Logo、底部宣传图片上传)
- 访问统计 (IP记录、趋势图表)
- 参考来源、附件支持
- 单端口部署 (16012)

技术栈:
- Flask 3.0 + SQLAlchemy
- SQLite数据库
- marked.js + highlight.js (Markdown渲染)
- Chart.js (统计图表)
2026-06-04 23:12:34 +08:00

111 lines
2.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 技术博客系统
一个基于 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. 安装依赖
```bash
cd works/tech-blog
pip install -r requirements.txt
pip install python-slugify # 额外的slug生成依赖
```
### 2. 初始化数据库
```bash
export FLASK_APP=run.py
flask init-db
```
### 3. 创建管理员账户
```bash
flask create-admin admin your_password
```
### 4. 启动服务
```bash
python run.py
```
服务将在端口 **16012** 上运行。
## 访问地址
- **前端首页**http://localhost:16012/
- **后台登录**http://localhost:16012/admin/login
## 使用说明
### 后台管理
1. 使用创建的管理员账户登录后台
2. 在分类管理中创建文章分类
3. 在标签管理中创建标签
4. 在文章管理中创建和发布文章
### 前端展示
- 首页显示已发布的文章列表
- 点击文章标题查看详情
- 通过分类和标签筛选文章
- 侧边栏显示热门文章和最新文章
## 技术栈
- **后端**Flask 3.0 + SQLAlchemy
- **数据库**SQLite可轻松切换到 PostgreSQL
- **前端**Jinja2 模板 + CSS
- **部署**:单端口 16012
## 扩展建议
- 添加 Markdown 渲染支持
- 添加评论功能
- 添加搜索功能
- 添加用户权限管理
- 添加 API 接口
- 切换到 PostgreSQL 数据库