《flask Web开发》第七章中,有config的代码:
创建一个文件Config.py保存配置:
...
class Config:
SECRET_KEY = os.environ.get('SECRET_KEY') or 'hard to guess string'
SQLALCHEMY_COMMIT_ON_TEARDOWN = True
#...各种其他配置变量在此省略
@staticmethod
def init_app(app):
pass
class DevelopmentConfig(Config):
#该环境下特有配置,省略
class TestingConfig(Config):
#该环境下特有配置,省略
class ProductionConfig(Config):
#该环境下特有配置,省略
config = {
'development': DevelopmentConfig,
'testing': TestingConfig,
'production': ProductionConfig,
'default': DevelopmentConfig
}
创建基类Config来保存通用配置 其他的各环境使用不同的配置 再用一个字典提供选择
但是不懂静态方法init_app的具体作用是什么?一个空函数可以做什么?
@staticmethod
def init_app(app):
pass
在__init__.py中使用它:
...
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)
return app
求解答,谢谢....
这是一个类(静态)方法,与实例无关。
应该是用来对应用启动时初始化用的,只是现在没有去写里面的方法而已。