如何在瓶框架中使用工厂函数

  介绍

今天就跟大家聊聊有关如何在瓶框架中使用工厂函数,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

<强> 1。最初的写法

# __init__ . py里面创建实例,应用实例对象创建完再引入视图函数的模块,因为这时候视图函数上的@app.route()才有效   得到flask  import 烧瓶   得到myapp.admin  import 管理   import 配置   app =,瓶(__name__)   app.config.from_object(& # 39;配置# 39;)   app.register_blueprint(管理)   得到myapp  import 观点 # run.py里面我们来启动刚才创建的应用实例   得到myapp  import 应用   app.run(主机=& # 39;0.0.0.0 # 39;)

<强> 2。改进,用工厂模式来创建应用

# __init__.py 改变创建应用实例的方式,不之间创建应用,而是通过create_app函数里面创建,再返回应用程序对象,这样的好处就是调用的时候才创建,想创建多少就调用多少,而且每次调用都能应用不同的配置参数,这里面这个create_app()就是应用的工厂方法!在工厂方法里面我们分别加载了配置扩展和蓝图!敲黑板! ! !   得到flask  import 烧瓶   得到flask.ext.mail  import 邮件   得到flask.ext.sqlalchemy  import  SQLAlchemy   得到werkzeug.utils  import  import_string   时间=mail 邮件()   时间=db  SQLAlchemy ()   blueprints =, (   & # 39;才能myapp.main:主要# 39;   & # 39;才能myapp.admin:行政与# 39;   ]   def  create_app(配置):   app 才能=,瓶(__name__)   app.config.from_object才能(配置)   #,才能Load 扩展   mail.init_app才能(应用)   db.init_app才能(应用)   #,才能Load 蓝图   for 才能;bp_name 拷贝蓝图:   ,,,bp =, import_string (bp_name)   ,,,app.register_blueprint (bp)   return 才能;应用 #敲黑板! ! !需要注意,用了工厂方法之后,就不像在单一文件中一样有全局的应用应用实例对象了,那怎么办呢,没有程序就不能用装饰器给视图函数路由了,这里面我们要画重点了:烧瓶的蓝图功能,我们刚才工厂函数里面已经注册了蓝图了,我们要用蓝图对象路由   得到flask  import 蓝图   时间=main 蓝图(& # 39;主要# 39;,,__name__)   得到myapp.main  import 观点 得到myapp.main  import 主要   @main.route (& # 39;/& # 39;   def 指数():   return 才能;& # 39;& lt; h2> Hello  World 得到app 工厂! & lt;/h2> & # 39;

<强>运行。py用了工厂函数之后,启动就要调用工厂函数创建应用实例再启动

得到myapp  import  create_app   import 配置   时间=app  create_app(& # 39;配置# 39;)   app.run(主机=& # 39;0.0.0.0 # 39;,,debug=True)

看完上述内容,你们对如何在瓶框架中使用工厂函数有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

如何在瓶框架中使用工厂函数