Flask 使用工厂模式

 更新时间:2021年11月26日 10:39:11   作者:tigeriaf  
本文章向大家介绍flask工厂模式,主要包括flask工厂模式使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下

1、工厂模式

在面向对象编程中,工厂模式是开发过程中最常用的设计模式之一,属于创建型模式,就是通过一个接口函数或对象来创建其他对象并返回,该模式下不会对外暴露创建对象的具体逻辑,使用的接口函数也被叫做工厂函数。工厂模式可以使一个类的例化推迟到子类中进行,也就是说工厂模式可以推迟到在程序运行的时候才动态决定要实例化哪个类,而不是在编译时就必须进行实例化。

2、使用工厂方法创建 app 对象

我们之前是用app=Flask(__name__)创建 Flask 应用实例的,但是如果我们想要创建多个实例,多个实例使用不同的配置的时候,就会非常麻烦,那我们就可以通过调用一个create_app()函数来返回应用实例,通过传入不同的配置来创建不同的应用实例,这个create_app()函数就是工厂函数,这种方法就是工厂方法。

使用工厂方法的好处:

  • 将创建应用实例的过程交给工厂函数,通过传入不同的配置,可以方便的创建不同环境的应用。
  • 可以方便快速的进行不同配置的切换,进而切换不同配置的应用,方便进行测试和部署。

下面对之前的Flask应用主程序中引入工厂函数:

def create_app(config_name):

    config = config_dict.get(config_name)

    app = Flask(__name__)

    app.config.from_object(config)  

    ......

    # 注册蓝图

    app.register_blueprint(user_blue)

    app.register_blueprint(admin_blue)



    return app

工厂函数接收配置名称 config_name,支持在应用程序的不同位置传人不同的配置名称来创建实例,除了上面代码所展示的,把注册蓝图的代码放入工厂函数,还可以把错误处理函数、上下文处理函数、日志处理函数等类似的接收程序实例 app 作为参数的函数放入工厂函数中进行,工厂函数类似于一个流水线,创建完应用实例 app 后,执行一系列的注册函数为实例 app 注册扩展功能等,等执行完返回 app 时,我们就可以得到一个包含我们想要的所有扩展功能的应用实例。

到此这篇关于 Flask 使用工厂模式的文章就介绍到这了,更多相关 Flask 工厂模式内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python依赖包迁移到断网环境操作

    Python依赖包迁移到断网环境操作

    这篇文章主要介绍了Python依赖包迁移到断网环境操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • Python 多线程实例详解

    Python 多线程实例详解

    这篇文章主要介绍了Python 多线程实例详解的相关资料,需要的朋友可以参考下
    2017-03-03
  • Python根据成绩分析系统浅析

    Python根据成绩分析系统浅析

    在本篇文章里小编给大家分享了关于Python根据成绩分析是否继续深造一个系统的相关知识点,有需要的朋友们学习下。
    2019-02-02
  • opencv之颜色过滤只留下图片中的红色区域操作

    opencv之颜色过滤只留下图片中的红色区域操作

    这篇文章主要介绍了opencv之颜色过滤只留下图片中的红色区域操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Python中Threading用法详解

    Python中Threading用法详解

    本篇文章给大家介绍了Python中Threading的详细用法,需要的朋友跟着小编一起学习下吧。
    2017-12-12
  • 如何利用Python让Excel快速按条件筛选数据

    如何利用Python让Excel快速按条件筛选数据

    平时总是要对Excel进行操作,整理了一下平时经常会用到的操作,下面这篇文章主要给大家介绍了关于如何利用Python让Excel快速按条件筛选数据的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • python将unicode转为str的方法

    python将unicode转为str的方法

    下面小编就为大家带来一篇python将unicode转为str的方法。小编觉得挺不错的。现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • 基于Python制作GIF表情包生成工具

    基于Python制作GIF表情包生成工具

    在当前无表情包不会聊天的时代,怎么也不能输在表情包数量不足上啊,今天咱们就来基于Python制作一个 gif 生成工具,用来制作表情包也太好用啦
    2023-07-07
  • Python中常见的矩阵运算详解

    Python中常见的矩阵运算详解

    这篇文章主要介绍了Python中常见的矩阵运算详解,所谓的数据处理,其本质大都可以归为矩阵运算,因为需要处理的数据大都是矩阵或向量的形式,一个工具适不适合做数据处理,一个重要的指标的就是支不支持矩阵运算,需要的朋友可以参考下
    2023-08-08
  • 在Django的上下文中设置变量的方法

    在Django的上下文中设置变量的方法

    这篇文章主要介绍了在Django的上下文中设置变量的方法,Django是重多Python高人气框架中最为著名的一个,需要的朋友可以参考下
    2015-07-07

最新评论