jadenjiu/flask-blog-demo
Public
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    # 系统架构文档

本地运行

  1. 创建Python虚拟环境:

    python -m venv .env
    source .env/bin/activate  # Linux/Mac
    # 或
    .env\Scripts\activate     # Windows
    
  2. 安装依赖:

    pip install Flask
    
  3. 运行应用:

    python src/main.py
    
  4. 访问应用: 打开浏览器,访问 http://localhost:5001

使用Wasmer部署

  1. 安装Wasmer:

    curl https://get.wasmer.io -sSfL | sh
    
  2. 运行应用:

    wasmer run . --net
    
  3. 访问应用: 打开浏览器,访问 http://localhost:3000

部署到Wasmer Edge

  1. 修改wasmer.toml中的包名称:

    [package]
    name = "你的用户名/flask-blog-demo"
    
  2. 部署应用:

    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

Flask博客系统Demo - 基于Wasmer部署

More packages
ayyildiz/demo website
Ramazan
Ramazan
Ramazan
Ramazan
shimingw/demo js worker
shimingw avatar
shimingw
shimingw avatar
shimingw
skitsanos/demos js worker
Skitsanos
Skitsanos
Skitsanos
Skitsanos
mpcref/demo js worker