Flask 项目教程
项目的目录结构及介绍
Flask 项目的目录结构通常如下:
flask-project/
├── .github/
├── devcontainer/
├── docs/
├── examples/
├── src/
│ └── flask/
├── tests/
├── .editorconfig
├── .gitignore
├── .pre-commit-config.yaml
├── .readthedocs.yaml
├── CHANGES.rst
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.rst
├── LICENSE.txt
├── README.md
├── pyproject.toml
└── tox.ini
目录介绍
- .github/: 包含 GitHub 相关的配置文件,如 CI/CD 配置。
- devcontainer/: 开发容器配置文件,用于在容器中进行开发。
- docs/: 项目文档文件夹。
- examples/: 示例代码文件夹。
- src/flask/: Flask 项目的主要源代码文件夹。
- tests/: 测试代码文件夹。
- .editorconfig: 编辑器配置文件,用于统一代码风格。
- .gitignore: Git 忽略文件配置。
- .pre-commit-config.yaml: 预提交钩子配置文件。
- .readthedocs.yaml: Read the Docs 配置文件。
- CHANGES.rst: 项目变更记录。
- CODE_OF_CONDUCT.md: 行为准则。
- CONTRIBUTING.rst: 贡献指南。
- LICENSE.txt: 项目许可证。
- README.md: 项目说明文档。
- pyproject.toml: 项目配置文件,包含构建系统和依赖管理。
- tox.ini: 用于自动化测试的配置文件。
项目的启动文件介绍
Flask 项目的启动文件通常位于 src/flask/
目录下。主要的启动文件是 __init__.py
,它包含了应用的初始化代码。
# src/flask/__init__.py
from flask import Flask
def create_app():
app = Flask(__name__)
# 配置应用
app.config.from_object('config')
# 注册蓝图
from .views import main_bp
app.register_blueprint(main_bp)
return app
启动文件介绍
- create_app(): 这是一个工厂函数,用于创建 Flask 应用实例。它初始化应用并加载配置,注册蓝图等。
项目的配置文件介绍
Flask 项目的配置文件通常是一个 Python 模块,例如 config.py
,它包含了应用的配置信息。
# config.py
import os
class Config:
SECRET_KEY = os.environ.get('SECRET_KEY') or 'your_default_secret_key'
SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL') or 'sqlite:///your_default_database.db'
SQLALCHEMY_TRACK_MODIFICATIONS = False
class DevelopmentConfig(Config):
DEBUG = True
class ProductionConfig(Config):
DEBUG = False
config = {
'development': DevelopmentConfig,
'production': ProductionConfig,
'default': DevelopmentConfig
}
配置文件介绍
- Config: 基础配置类,包含通用的配置项。
- DevelopmentConfig: 开发环境配置类,继承自
Config
,并覆盖了一些配置项。 - ProductionConfig: 生产环境配置类,继承自
Config
,并覆盖了一些配置项。 - config: 配置字典,用于根据环境变量选择不同的配置类。
通过这些配置文件,可以方便地在不同环境下切换配置,例如开发、测试和生产环境。