113 lines
2.1 KiB
Markdown
113 lines
2.1 KiB
Markdown
# 快速开始指南
|
||
|
||
## 5分钟快速启动
|
||
|
||
### 步骤1: 复制模板
|
||
|
||
```bash
|
||
# 复制整个template目录
|
||
cp -r template my_new_project
|
||
cd my_new_project
|
||
```
|
||
|
||
### 步骤2: 运行初始化脚本(可选)
|
||
|
||
```bash
|
||
# 运行初始化脚本,自动配置项目
|
||
python scripts/init_project.py
|
||
```
|
||
|
||
或者手动配置:
|
||
|
||
### 步骤3: 创建虚拟环境
|
||
|
||
```bash
|
||
python -m venv .venv
|
||
|
||
# Windows
|
||
.venv\Scripts\activate
|
||
|
||
# Linux/Mac
|
||
source .venv/bin/activate
|
||
```
|
||
|
||
### 步骤4: 安装依赖
|
||
|
||
```bash
|
||
pip install -r requirements/base.txt
|
||
pip install -r requirements/development.txt
|
||
```
|
||
|
||
### 步骤5: 配置环境变量
|
||
|
||
```bash
|
||
# 复制环境变量模板
|
||
cp env.example .env
|
||
|
||
# 编辑.env文件,至少设置:
|
||
# SECRET_KEY=你的密钥(可以用: python -c "import secrets; print(secrets.token_hex(32))" 生成)
|
||
# DATABASE_URL=sqlite:///app.db
|
||
# FLASK_ENV=development
|
||
```
|
||
|
||
### 步骤6: 初始化数据库
|
||
|
||
```bash
|
||
flask db init
|
||
flask db migrate -m "Initial migration"
|
||
flask db upgrade
|
||
```
|
||
|
||
### 步骤7: 运行项目
|
||
|
||
```bash
|
||
python run_dev.py
|
||
```
|
||
|
||
访问 http://localhost:5000 查看应用!
|
||
|
||
## 重命名项目
|
||
|
||
如果使用初始化脚本,会自动处理。否则手动操作:
|
||
|
||
1. 重命名目录: `src/your_app` -> `src/your_project_name`
|
||
2. 更新以下文件中的导入路径:
|
||
- `run_dev.py`
|
||
- `run_production.py`
|
||
- `gunicorn.conf.py`
|
||
- `tests/conftest.py`
|
||
- 所有测试文件
|
||
|
||
## 下一步
|
||
|
||
- 查看 [README.md](README.md) 了解完整文档
|
||
- 查看 [docs/](docs/) 目录了解详细文档
|
||
- 开始编写你的业务代码!
|
||
|
||
## 常见问题
|
||
|
||
### Q: 如何生成SECRET_KEY?
|
||
|
||
```bash
|
||
python -c "import secrets; print(secrets.token_hex(32))"
|
||
```
|
||
|
||
### Q: 如何添加新的路由?
|
||
|
||
1. 在 `src/your_app/routes/` 创建新的路由文件
|
||
2. 在 `src/your_app/__init__.py` 中注册蓝图
|
||
|
||
### Q: 如何添加新的模型?
|
||
|
||
1. 在 `src/your_app/models/` 创建新的模型文件
|
||
2. 在 `src/your_app/models/__init__.py` 中导入
|
||
3. 运行 `flask db migrate -m "描述"` 创建迁移
|
||
|
||
### Q: 如何运行测试?
|
||
|
||
```bash
|
||
pip install -r requirements/test.txt
|
||
pytest
|
||
```
|
||
|