首页 > 技术文章 > Flask-如何设置配置?

eliwang 2020-12-26 17:00 原文

在 Flask 程序运行的时候,可以给 Flask 设置相关配置,比如:配置 Debug 模式,配置数据库连接地址等等

1.通过app.config[key] = value这种方式进行设置:

app.config是一个dict

app.py

# coding:utf-8

from flask import Flask

app = Flask(__name__)
app.config['DEBUG'] = True
app.config['SECRET_KEY'] = 'dafepafalfavnavfdae23fda'

 

2.通过属性直接设置

Flask 应用程序将一些常用的配置设置成了应用程序对象的属性,也可以通过属性直接设置/获取某些配置:

app.debug = True

 

3.加载配置

  • 从配置对象中加载(常用)

    app.config.form_object()

  • 从配置文件中加载

    app.config.form_pyfile()

  • 从环境变量中加载(不常用)

    app.config.from_envvar()

3.1 配置对象加载

配置对象可以是类对象,也可以是导入的模块

类对象

app.py

# coding:utf-8

from flask import Flask

app = Flask(__name__)

class Config(object):
    DEBUG = True

app.config.from_object(Config)

模块对象

在同级目录下新建config.py,在文件中按以下格式写入配置:

DEBUG = True

app.py

# coding:utf-8

import config
from flask import Flask

app = Flask(__name__)

app.config.from_object(config)

3.2 配置文件加载

# coding:utf-8

from flask import Flask

app = Flask(__name__)

app.config.from_pyfile("config.py")

3.3 环境变量加载(了解)

 

4 读取配置

app.config.get()

在视图函数中既可以使用app.config.get(),也可以使用current_app.config.get(),效果一样

from flask import Flask,current_app

app = Flask(__name__)
app.debug = True

@app.route('/test')
def test():
    print(app.config.get('DEBUG'))
    print(current_app.config.get('DEBUG'))
    return 'test'

if __name__ == '__main__':
    app.run()

终端中会输出:

True
True

 

推荐阅读