介绍
今天就跟大家聊聊有关如何在瓶框架中使用工厂函数,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
<强> 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)
看完上述内容,你们对如何在瓶框架中使用工厂函数有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。