2.1 Flask 项目的基本结构
在 Flask 开发中,合理的项目结构能提高代码的可维护性和扩展性。一个典型的 Flask 项目结构如下:
csharp
复制编辑
my_flask_project/
│── app/ # 应用模块
│ ├── init.py # 初始化 Flask 应用
│ ├── routes.py # 视图和路由
│ ├── models.py # 数据库模型
│ ├── forms.py # 表单处理
│ ├── templates/ # HTML 模板文件
│ ├── static/ # 静态文件(CSS, JS, Images)
│── config.py # 配置文件
│── run.py # 启动脚本
│── requirements.txt # 依赖文件
│── venv/ # 虚拟环境
2.1.1 app/init.py**(初始化 Flask 应用)******
python
from flask import Flask
def create_app():
app = Flask(__name__)
app.config.from_object('config.Config')
from app.routes import main
app.register_blueprint(main)
return app
2.1.2 app/routes.py**(定义路由)******
python
from flask import Blueprint
main = Blueprint('main', __name__)
@main.route('/')def home():
return "Welcome to Flask Project!"
2.1.3 config.py**(配置 Flask)******
python
import os
class Config:
SECRET_KEY = os.getenv('SECRET_KEY', 'mysecretkey')
DEBUG = os.getenv('FLASK_DEBUG', True)
SQLALCHEMY_DATABASE_URI = 'sqlite:///site.db'
SQLALCHEMY_TRACK_MODIFICATIONS = False
2.1.4 run.py**(启动 Flask 应用)******
python
from app import create_app
app = create_app()
if __name__ == '__main__':
app.run()
2.2 配置虚拟环境
2.2.1 创建虚拟环境
python -m venv venv
2.2.2 激活虚拟环境
Windows:
venv\Scripts\activate
Mac/Linux:
source venv/bin/activate
2.2.3 安装依赖
pip install -r requirements.txt
requirements.txt示例:
Flask
Flask-SQLAlchemy
Flask-WTF
Flask-Login
2.3 配置环境变量
在开发、测试和生产环境中,我们可以使用环境变量来配置 Flask。
2.3.1 在 Linux/Mac 设置环境变量
export FLASK_APP=run.pyexport FLASK_ENV=development
2.3.2 在 Windows 设置环境变量
set FLASK_APP=run.pyset FLASK_ENV=development
2.4 运行 Flask 应用
2.4.1 启动 Flask 服务器
flask run
2.4.2 指定 IP 和端口
flask run --host=0.0.0.0 --port=8000
2.5 结语
本章介绍了 Flask 项目的标准结构、如何创建和管理虚拟环境,以及如何配置和运行 Flask 应用。在下一章,我们将深入探讨 Flask 的路由系统和视图函数。