Cookiecutter-Flask 项目快速入门指南
cookiecutter-flask项目地址:https://gitcode.com/gh_mirrors/coo/cookiecutter-flask
1. 项目目录结构及介绍
在Cookiecutter-Flask模板生成的项目中,你会看到以下基本的目录结构:
my_flask_app/
├── config.py # 配置文件
├── my_flask_app/ # 应用包
│ ├── __init__.py # 初始化文件
│ └── ... # 其他应用相关的模块
├── static/ # 静态资源文件夹
├── templates/ # HTML模板文件夹
├── tests/ # 测试代码
└── run.py # 应用启动文件
config.py
: 存放所有应用程序的配置选项。my_flask_app
: 主应用程序包,通常包括路由、模型等核心组件。static
: 用于存放CSS、JavaScript和其他不需服务器处理的静态文件。templates
: 包含Flask渲染的HTML或其他模板语言的文件。tests
: 存放自动化测试代码的地方。run.py
: 应用程序的入口点,负责初始化Flask实例并运行服务。
2. 项目的启动文件介绍
run.py
是项目的启动脚本,其主要功能是初始化Flask应用并运行服务器。下面是一般run.py
的简化示例:
from my_flask_app import create_app
import os
if __name__ == '__main__':
env = os.environ.get('FLASK_ENV', 'development')
app = create_app(env)
app.run(debug=True)
create_app(env)
通常是从主应用包(如这里的my_flask_app
)导入的一个函数,它会基于传入的环境变量env
(默认为'development')来创建一个配置化的Flask应用实例。app.run(debug=True)
启动Flask开发服务器,并开启调试模式。在生产环境中,这个调用会被替换为更复杂的部署方式,如使用Gunicorn或uWSGI。
3. 项目的配置文件介绍
config.py
文件包含了你的Flask应用的所有配置变量。这些变量可以根据不同的运行环境(如开发、测试或生产)进行设置。示例如下:
class Config(object):
SECRET_KEY = 'your_secret_key'
SQLALCHEMY_DATABASE_URI = 'sqlite:///example.db'
DEBUG = True
class DevelopmentConfig(Config):
DEBUG = True
class TestingConfig(Config):
TESTING = True
WTF_CSRF_ENABLED = False
class ProductionConfig(Config):
SECRET_KEY = os.environ.get('APP_SECRET_KEY')
SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL')
config_options = {
'development': DevelopmentConfig,
'testing': TestingConfig,
'production': ProductionConfig,
}
这里定义了四个配置类:Config
(基础配置)、DevelopmentConfig
(开发配置)、TestingConfig
(测试配置)和ProductionConfig
(生产配置)。SECRET_KEY
、SQLALCHEMY_DATABASE_URI
等是常见的配置项。在实际使用时,可以通过create_app()
函数传递相应的环境名,以选择对应的配置。
请确保根据实际情况修改配置文件中的敏感信息,并在生产环境中使用环境变量存储秘密值,而非硬编码。
cookiecutter-flask项目地址:https://gitcode.com/gh_mirrors/coo/cookiecutter-flask