以下是一个简单的 Flask 应用工厂函数示例:
from flask import Flask
def create_app(config_class=None):
app = Flask(__name__)
# 从配置类加载配置,如果未提供配置类,则使用默认配置
if config_class is not None:
app.config.from_object(config_class)
# 在这里进行其他初始化操作,如注册蓝图、初始化数据库等
return app
在这个示例中,create_app 函数返回一个 Flask 应用实例。它接受一个可选的 config_class 参数,用于指定应用的配置类。如果提供了配置类,应用将加载该配置类中的配置。
你可以通过调用这个工厂函数来创建应用:
from your_module import create_app, config
app = create_app(config.DevelopmentConfig)
在这个例子中,我们假设你的配置类在 config 模块中定义,并选择使用开发环境的配置。
通过使用工厂函数,你可以将应用的配置和初始化过程模块化,使代码更具可维护性。例如,你可以在工厂函数中注册蓝图、初始化数据库、设置日志等。
如果你的应用需要依赖于当前环境(例如,根据环境加载不同的配置),你可以通过检查 FLASK_ENV 环境变量来确定当前的环境。例如:
import os
def create_app():
app = Flask(__name__)
# 根据环境加载不同的配置
if os.environ.get('FLASK_ENV') == 'production':
app.config.from_object('config.ProductionConfig')
else:
app.config.from_object('config.DevelopmentConfig')
# 在这里进行其他初始化操作
return app
在这个例子中,根据 FLASK_ENV 环境变量的值,选择加载不同的配置。这使得你可以在不同的环境中使用相应的配置。
转载请注明出处:http://www.pingtaimeng.com/article/detail/7353/Flask