之前设定web的配置项时一直使用硬编码,就是把变量的值写死,写的代码中到处都是配置项,通过cmd+shift+F来全局搜索替换,这是一个很愚蠢而且很原始的办法。
正确的办法是给应用创建一个配置文件,由这个文件来统一管理应用的配置项。
在flask中,配置文件很简单,简单到你可以理解这个文件中都是一群变量的集合。
比如我们可以写一个简单的配置文件,名为"config.py"。
还记得app.run(host='0.0.0.0', port=8000, debug=True)方法么?里面有几个参数,如果我想从config.py中读取应该怎么办呢?
在config.py中创建这些要使用到的变量。
# config.py
# 调试模式
DEBUG = True
# 应用端口号
PORT = 8000
# host
HOST = '0.0.0.0'
然后在使用配置项的文件中导入。你当然可以使用from config import *,但是并不推荐这种方式。
flask内置了一个对象方法,from_object(path),通过这个方式就能导入配置文件了。
# your file.py
app = Flask(__name__)
app.config.from_object('config')
跳到源码里就会发现,flask中的config.py中有个Config类,而这个from_object就在这个类中。

哦,原来把Config类当做字典,然后遍历里面的值。
那么导入之后如何使用呢?
app.config['VAR_NAME'],就像访问python中的字典那样就可以。

网友评论