更新时间:2023-04-20 来源:黑马程序员 浏览量:
Flask是一个用Python编写的微框架,它可以帮助开发者在短时间内完成一个功能丰富的Web应用程序。在Flask中,若需要在程序中使用配置信息,以便对程序的一些行为进行定制,则可以采用多种方式将配置信息保存到Flask类对象的config属性中。config属性的值是一个flask.Config类的对象,flask.Config类是一个Python字典子类,它的工作方式类似于字典,既可以通过访问字典元素的方式使用配置信息,也可以通过flask.Config类提供的导入配置项的方法使用配置信息。
本节我们介绍Flask配置信息的使用,通过访问字典元素、导入文件和导入对象这3种方式使用配置信息。
可以通过访问字典元素的方式获取Flask程序的配置项,并重新为该配置项赋值。例如,通过为Flask类的对象app设置配置项TESTING,以启用测试模式,代码如下所示。
app.config['TESTING'] = True
若希望一次修改多个配置项,则可以调用flask.Config从父类继承的update()方法实现。例如,为Flask类的对象app设置配置项TESTING和SECRET_KEY,从而使程序启用测试模式以及设置密钥,具体代码如下所示。
app.config.update( TESTING=True, SECRET_KEY=b'_5#y2L"F4Q8z\n\xec]/' )
可以将所有的配置项存入单独的文件中,之后将该文件导入到Flask程序。flask.Config类中提供了一些从文件中导入配置项的方法,关于这些方法的介绍如下。
●from_file():从指定的文件中导入配置项,并更新配置项的值。
●from_pyfile():从.py文件中导入配置项,并更新配置项的值。
#通过from_file()方法从config.json文件中导入配置项 import json app.config.from_file("config.json", load=json.load) #通过from_pyfile()方法从config.py文件中导入配置项 app.config.from_pyfile("config.py")
可以通过定义Python类属性的方式设置配置项,之后将包含配置项的Python类的对象导入到Flask程序中。flask.Config类中提供了一些从Python类中导入配置项的方法
from_object(),from_object()方法用于从给定对象中导入配置项,并更新配置项的值。需要说明的是,from_object()方法只会加载Python类中以大写字母命名的属性。如果Python类中有一个@property属性,则该类在被传递给from_object()方法之前需要进行实例化。
定义一个包含两个配置项TESTING和SECRET_KEY的类Settings,之后调用from_object(O方法从Settings类中加载配置项,并在程序中使用这些配置信息,具体代码如下所示。