1.current_app 的介绍

  • current_app 等同于 Flask 所实例化出来的 app 对象

2.current_app 的使用

  • current_app 一般用于在使用蓝图后导入配置文件时所使用

  • 以前的写法

# app.py

from flask import Flask
from settings import Config

app = Flask(__name__)
app.config.from_object('settings.Config')


@app.route('/index')
def index():
secret_key = Config.SECRET_KEY
    print(secret_key)  # session_salt
    return 'index_html'


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

# settings.py

class Config(object):
    DEBUG = True
    SECRET_KEY = 'session_salt'

  • 使用 current_app 的写法

# app.py

from flask import Flask, current_app

app = Flask(__name__)
app.config.from_object('settings.Config')


@app.route('/index')
def index():
 # 写法一
secret_key1 = current_app.config.get('SECRET_KEY')
    print(secret_key1)  # session_salt

# 写法二
secret_key2 = current_app.config['SECRET_KEY']
    print(secret_key2)  # session_salt

# 等同于

    secret_key3 = app.config['SECRET_KEY']
    print(secret_key3)  # session_salt
    return 'index_html'


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

# settings.py

class Config(object):
    DEBUG = True
    SECRET_KEY = 'session_salt'