wasmer run jadenjiu/flask-blog-demo
Flask博客系统Demo
这是一个基于Flask构建的简单博客系统Demo,使用Wasmer进行部署。本系统不使用数据库,所有数据存储在内存中。
功能特点
- 文章的创建、阅读、编辑和删除
- 评论的添加和删除
- 响应式设计,适配不同设备
- 内存数据存储,无需数据库配置
- 支持Wasmer部署
目录结构
flask-blog-demo-package/
├── src/ # 源代码目录
│ ├── main.py # 主应用文件
│ ├── models/ # 数据模型
│ │ ├── post.py # 文章模型
│ │ └── comment.py # 评论模型
│ ├── storage/ # 数据存储
│ │ └── memory_store.py # 内存存储实现
│ ├── templates/ # HTML模板
│ │ ├── base.html # 基础模板
│ │ ├── index.html # 首页模板
│ │ ├── post_detail.html# 文章详情模板
│ │ └── post_form.html # 文章表单模板
│ └── static/ # 静态文件
│ ├── css/ # CSS样式
│ │ └── style.css # 主样式文件
│ └── js/ # JavaScript文件
│ └── main.js # 主脚本文件
├── wasmer.toml # Wasmer配置文件
├── app.yaml # 应用配置文件
└── blog_architecture.md # 系统架构文档
本地运行
-
创建Python虚拟环境:
python -m venv .env source .env/bin/activate # Linux/Mac # 或 .env\Scripts\activate # Windows
-
安装依赖:
pip install Flask
-
运行应用:
python src/main.py
-
访问应用: 打开浏览器,访问 http://localhost:5001
使用Wasmer部署
-
安装Wasmer:
curl https://get.wasmer.io -sSfL | sh
-
运行应用:
wasmer run . --net
-
访问应用: 打开浏览器,访问 http://localhost:3000
部署到Wasmer Edge
-
修改wasmer.toml中的包名称:
[package] name = "你的用户名/flask-blog-demo"
-
部署应用:
wasmer deploy
注意事项
- 本Demo使用内存存储数据,应用重启后数据会重置
- 默认包含两篇示例文章和几条评论
- 为了简化Demo,未实现用户认证功能
自定义
- 修改src/storage/memory_store.py中的_init_sample_data方法可以更改初始数据
- 修改src/static/css/style.css可以自定义样式
- 修改src/templates/目录下的HTML模板可以自定义页面布局
技术栈
- Python 3.10+
- Flask 3.1.0
- Wasmer 5.0.4