在flask web 开发这本书中,进行大型网页设置的时候,在config文件中定义了一个这样的函数:
@staticmethod
def init_app(app):
pass
当时没有多想,反正就是一个空函数,可是到后面,十七章的时候又出现了这样的情况:
class ProductionConfig(Config):
SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL') or \
'sqlite:///' + os.path.join(basedir, 'data.sqlite')
@classmethod
def init_app(cls, app):
Config.init_app(app)
# ...
这时我开始想这个函数的作用,所以我来到用它的地方:
def create_app(config_name):
app = Flask(__name__)
app.config.from_object(config[config_name])
config[config_name].init_app(app)
# ...
在config[config_name]中加入config_name = testing的话,那么就会得到TestingConfig这个类,当然