20200721《Flask进阶》——工厂函数

工厂函数是被命名为create_app或者make_app的函数,内部完成加载配置,创建app、加载配置等功能,最后输出app,代码如下:
def create_app(config_name=None):
    '''
    这是一个工厂函数,会根据传入参数来创建响应app,
    '''
    if config_name is None:
        config_name = os.getenv('FLASK_CONFIG', 'development')

    # 创建app、加载配置
    app = Flask('bluelog')
    app.config.from_object(config[config_name])

    register_logging(app)  # 注册日志处理器
    register_extensions(app)  # 注册扩展(扩展初始化)
    register_blueprints(app)  # 注册蓝本
    register_commands(app)  # 注册自定义shell命令
    register_errors(app)  # 注册错误处理函数
    register_shell_context(app)  # 注册shell上下文处理函数
    register_template_context(app)  # 注册模板上下文处理函数
    return app
  • 其中,扩展的实例化和初始化是单独实现的,实例化在单独的脚本中——extensions.py,之后在工厂函数中实例化
  • Flask会自动从环境变量FLASK_APP的值定义的模块中寻找名为create_app或make_app的工厂函数,自动调用工厂函数创建程序实例并运行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值