zoukankan      html  css  js  c++  java
  • flask 中xx.init_app(app)方法

    bootstrap = Bootstrap() 
    mail = Mail() 
    moment = Moment() 
    db = SQLAlchemy() 
    
    def create_app(config_name): 
    app = Flask(__name__) 
    
    #将指定的配置通过from_object()方法导入app.config字典配置对象 
    
    app.config.from_object(config[config_name]) 
    
    config[config_name].init_app(app) 
    
    bootstrap.init_app(app) 
    mail.init_app(app) 
    moment.init_app(app) 
    db.init_app(app) 

    http://flask.pocoo.org/docs/0.12/patterns/appfactories/ 
    flask 文档关于工厂模式里面提到了上面的这种套路。 

    It ’ s preferable to create your extensions and app factories so that the extension object does not initially get bound to the application. 

    Using Flask-SQLAlchemy, as an example, you should not do something along those lines: 

    def create_app(config_filename): 
    app = Flask(__name__) 
    app.config.from_pyfile(config_filename) 

    db = SQLAlchemy(app) 

    But, rather, in model.py (or equivalent): 

    db = SQLAlchemy() 

    and in your application.py (or equivalent): 

    def create_app(config_filename): 
    app = Flask(__name__) 
    app.config.from_pyfile(config_filename) 

    from yourapplication.model import db 
    db.init_app(app)

  • 相关阅读:
    fmt命令
    wc命令
    grep命令
    head命令
    C/C++语法知识:typedef struct 用法详解
    邻接表无向图的介绍
    邻接矩阵无向图的介绍
    图的基本概念
    careercup-栈与队列 3.6
    careercup-栈与队列 3.5
  • 原文地址:https://www.cnblogs.com/cuzz/p/8280183.html
Copyright © 2011-2022 走看看