项目简介
这是一个使用Flask框架构建的社交博客项目,具备用户认证、API接口、主应用逻辑、数据库管理、邮件功能、前端模板、测试功能以及Docker支持等功能模块。
项目的主要特性和功能
- 用户认证功能:涵盖注册、登录、密码重置、电子邮件验证等。
- API接口:提供用户管理、帖子管理、评论管理等API端点。
- 主应用逻辑:包含主页、用户资料、帖子管理、关注者管理等。
- 数据库管理:运用SQLAlchemy进行ORM映射,通过Alembic进行数据库迁移。
- 邮件功能:用于发送注册、密码重置等邮件。
- 前端模板:采用Jinja2模板引擎和Bootstrap前端框架。
- 测试功能:包含单元测试和端到端测试。
- Docker支持:提供容器化应用和自动化部署脚本。
安装使用步骤
假设用户已经下载了本项目的源码文件。
1. 复制项目
bash
cd flask_xin_project
2. 部署项目
本地部署
- 创建虚拟环境:
bash python -m venv venv source venv/bin/activate # 对于Windows使用 venv\Scripts\activate
- 安装依赖:
bash pip install -r requirements/common.txt
- 配置环境变量:
在项目根目录下新建或修改
.env
文件,写入如下内容:env FLASK_APP=flasky.py FLASK_CONFIG=development SECRET_KEY=your_strong_secret_key MAIL_USERNAME=your_email@email.com MAIL_PASSWORD=your_email_key
- 数据库迁移:
bash flask db upgrade
- 运行项目:
bash flask run
应用将会在http://127.0.0.1:5000/
运行。
Docker部署
- 配置环境变量:
在项目根目录下新建或修改
.env
文件,写入如下内容:env FLASK_APP=flasky.py FLASK_CONFIG=docker SECRET_KEY=your_strong_secret_key MAIL_USERNAME=your_email@email.com MAIL_PASSWORD=your_email_key DATABASE_URL=mysql+pymysql://flasky:xin_password@dbserver/flasky
在项目根目录下新建或修改.env-mysql
文件,写入如下内容:env MYSQL_RANDOM_ROOT_PASSWORD=yes MYSQL_DATABASE=flasky MYSQL_USER=flasky MYSQL_PASSWORD=xin_password
- 启动服务:
bash docker-compose up -d
- 访问应用:
打开浏览器并访问
http://127.0.0.1:8000
。
3. 测试
运行测试的命令如下:
bash
flask test
4. 添加虚拟数据(可选)
如果需要,可以运行脚本生成虚拟的用户和帖子数据。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】