购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2 在app.config中添加配置

除了Debug、Host、Port这3个配置项比较特殊外,其他的配置参数都需要配置到Flask对象的app.config属性中,在配置参数较多的情况下,还会放到配置文件中。以下分别来进行讲解。

2.2.1 使用app.config配置

app.config是Config的对象,Config是一个继承自字典的子类,所以可以像操作字典一样操作它。使用app.config必须要注意的一点是,所有配置项的名称都必须大写,否则不会被app.config读取到,示例代码如下。

    app = Flask(__name__)
    app.config["SECRET_KEY"] = "skhrek349Lx!@# "
    app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///test.db"
    # 下面的配置项为小写,不会被读取
    app.config["test"] = True

app.config中的配置项,可以设置Flask及其插件内置的一些配置项,也可以添加自定义的配置项。如果后续开发中需要用到app.config中提前配置好的选项,那么可以通过类似字典的方式获取,示例代码如下。

    app = Flask(__name__)
    app.config["TESTING"] = True
    ...
    test = app.config["TESTING"]

使用app.config的方式配置项目,在项目体量较小的情况下比较方便,但是随着项目开发的复杂度越来越高,配置项也越来越多,使用app.config配置的方式就显得代码不够优雅,并且会让app.py文件越来越臃肿。因此企业开发中的项目都会使用配置文件。接下来讲解如何使用配置文件。

2.2.2 使用Python配置文件

首先,在当前项目(section01)文件夹下创建一个名为config.py的文件,这个文件专门用来存放配置选项。如在config.py中添加以下代码。

    # config.py文件
    TOKEN_KEY = "123456"

然后,在app.py中添加以下代码。

    # app.py文件
    import config
    app = Flask(__name__)
    app.config.from_object(config)
    ...
    print(app.config["TOKEN_KEY"])

运行项目后可以看到控制台会打印123456,这说明使用Python配置文件也可以添加配置项。

app.config.from_object除了直接使用导入的Python模块以外,还可以通过字符串的形式加载,示例代码如下。

    # app.py文件
    app = Flask(__name__)
    app.config.from_object("config")

Flask还有许多其他的方式来添加配置文件,如app.config.from_file和app.config.from_json,这里就不再一一展开讲解了,感兴趣的读者可以自行阅读Flask的官方文档https://flask.palletsprojects.com/en/2.0.x/config/进行学习研究。 t0iDduFBtVp8MEuf8m2srDEGy6A5hXbWdAiFzQzNVTs+6i8pyaJ3hzlnT8qanXJv

点击中间区域
呼出菜单
上一章
目录
下一章
×