《flask Web开发》中关于init_app 静态方法的作用是什么?
《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
求解答,谢谢....
相关阅读:
有没有自动生成复杂sql的软件?
数字为了防止被抓取,给弄成了图片,一般都用啥算法加密啊?最后是base64的样子的说
bootstrap有什么好处
komodo每次打开文件的文字下方总出现波浪线
openSUSE如何更新用户bash_profile?
vue.js+ajax怎么样实现滚动加载
js中offsetleft和left有什么区别?
AbsSavedState强转HorizontalScrollView$SavedState异常?
Jython通过WLST监控WebLogic时,导致Jython自带的py模块不能使用
python处理一个求和运算
js 中 [ ] . 区别 是什么 => 书中这行代码是多余的?
笔记本中C盘文件全部被隐藏了,而且程序没有执行权限,如何解决?
监听网页中某个文件的加载状态
一个关于前后端交互的问题,略复杂,新手求教
laravel cookie 无法清除,是BUG吗?
jspdf中文如何支持
mysql数据表结构修改问题
phpstorm如何设置markdown语法高亮
左右滚动的问题。switch语句。
$watch监视下拉框,网页刷新时会自动执行一次,如何禁止自动执行?