Cookiecutter Flask 项目使用指南
1. 项目的目录结构及介绍
生成项目后,目录结构大致如下:
my_flask_app/
├── .dockerignore
├── .gitignore
├── Dockerfile
├── README.md
├── cookiecutter.json
├── docker-compose.yml
├── manage.py
├── my_flask_app/
│ ├── __init__.py
│ ├── app.py
│ ├── config.py
│ ├── extensions.py
│ ├── models.py
│ ├── routes.py
│ ├── static/
│ ├── templates/
│ └── views.py
├── requirements.txt
└── tests/
目录结构介绍
- .dockerignore: Docker 忽略文件。
- .gitignore: Git 忽略文件。
- Dockerfile: Docker 配置文件。
- README.md: 项目说明文档。
- cookiecutter.json: Cookiecutter 配置文件。
- docker-compose.yml: Docker Compose 配置文件。
- manage.py: 项目管理脚本。
- my_flask_app/: 项目主目录。
- init.py: 包初始化文件。
- app.py: 应用启动文件。
- config.py: 配置文件。
- extensions.py: 扩展管理文件。
- models.py: 数据库模型文件。
- routes.py: 路由定义文件。
- static/: 静态文件目录。
- templates/: 模板文件目录。
- views.py: 视图函数文件。
- requirements.txt: 依赖包列表。
- tests/: 测试目录。
2. 项目的启动文件介绍
app.py
app.py
是项目的启动文件,主要负责初始化 Flask 应用并运行服务器。以下是 app.py
的基本内容:
from my_flask_app import create_app
app = create_app()
if __name__ == '__main__':
app.run(debug=True)
create_app 函数
create_app
函数定义在 __init__.py
中,负责创建 Flask 应用实例并进行配置:
from flask import Flask
from .config import Config
def create_app():
app = Flask(__name__)
app.config.from_object(Config)
# 初始化扩展
from .extensions import db
db.init_app(app)
# 注册蓝图
from .routes import main
app.register_blueprint(main)
return app
3. 项目的配置文件介绍
config.py
config.py
文件包含了应用的配置信息,通常包括开发、测试和生产环境的配置。以下是一个简单的示例:
import os
class Config:
SECRET_KEY = os.environ.get('SECRET_KEY') or 'your_secret_key'
SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL') or 'sqlite:///your_database.db'
SQLALCHEMY_TRACK_MODIFICATIONS = False
环境变量
配置文件通常会从环境变量中读取敏感信息,如数据库连接字符串和密钥。可以通过设置环境变量来覆盖默认配置:
export SECRET_KEY='your_secret_key'
export DATABASE_URL='sqlite:///your_database.db'
通过以上步骤,您可以了解并运行基于 Cookiecutter Flask 模板生成的项目。希望这份指南对您有所帮助!