在 Python 中,Flask 项目的目录结构可以根据项目的复杂度和规模有所不同。以下是一个基础的 Flask 项目目录结构示例,适用于中小型web项目:
my_flask_project/
│
├── app/
│ ├── __init__.py # Flask 应用的初始化文件
│ ├── routes.py # 路由定义和视图函数
│ ├── models.py # 数据库模型
│ ├── forms.py # 表单定义 (如果使用 WTForms)
│ ├── templates/ # HTML 模板目录
│ │ ├── base.html # 基础模板
│ │ ├── index.html # 主页模板
│ │ └── ... # 其他模板文件
│ ├── static/ # 静态文件目录 (CSS, JS, Images)
│ │ ├── css/
│ │ │ └── style.css # 示例 CSS 文件
│ │ ├── js/
│ │ │ └── main.js # 示例 JS 文件
│ │ └── img/
│ │ └── logo.png # 示例图片文件
│ └── errors/ # 自定义错误页面
│ ├── 404.html # 404 错误页面
│ ├── 500.html # 500 错误页面
│ └── ... # 其他错误页面
│
├── config.py # 项目配置文件
├── run.py # 启动应用的脚本 (入口点)
├── venv/ # 虚拟环境目录 (通过 Python 的 venv 模块创建)
├── requirements.txt # 依赖包列表
└── README.md # 项目说明文件
1. `app/`: 这是应用的核心目录,包含所有与应用相关的代码。
2. `config.py`: 配置文件,用于存放应用的配置,如数据库 URI、密钥、调试模式等。你可以根据不同的环境(开发、测试、生产)设置不同的配置。
3. `run.py`: 应用的启动脚本。通常会在这里导入 `app` 并调用 `app.run()` 启动 Flask 开发服务器。
4. `venv/`: 虚拟环境目录,用于隔离项目的依赖包。通常通过 `python -m venv venv` 创建。
5. `requirements.txt`: 列出项目的所有依赖包,便于在其他环境中安装相同的依赖。可以通过 `pip freeze > requirements.txt` 生成。
6. `README.md`: 项目的说明文件,通常包含项目简介、安装步骤、运行方式等信息。
from app import create_app
app = create_app()
if __name__ == "__main__":
app.run(debug=True)
from flask import Flask
def create_app():
app = Flask(__name__)
app.config.from_object('config.Config')
with app.app_context():
# 导入路由
from . import routes
return app
from flask import render_template
from app import app
@app.route('/')
def index():
return render_template('index.html')
随着项目的迭代,项目的复杂度会逐渐上升,我们可能在开发过程中需要引入 (`blueprint`)、扩展配置文件管理、添加测试目录等。例如:
这种目录结构提供了清晰的组织方式,使得项目更加模块化和可维护。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。