在应用程序中访问\读取Flask Env变量

时间:2019-08-23 18:11:27

标签: flask

我似乎无法在我的应用程序中访问环境变量的值。我正在使用.env文件和dotenv软件包将env变量加载到我的应用程序中;我了解了here

我的.env

FLASK_ENV=development
FLASK_APP=app.py
DEBUG=ON
TESTING=False

我想在我的应用程序中使用TESTING变量的值,并根据是True还是False运行某些代码。

如何获取这些值?文档说

  

某些配置值也被转发到Flask对象,因此   您可以从那里读写它们:app.testing = True

但是我得到module 'app' has no attribute 'testing'

当我自己登录app时,我看到一个Flask对象。当我像app.Flask那样注销时,我看到了env变量,但是它们看起来像这样,没有引用当前值。

{'__name__': 'TESTING', 'get_converter': None}

我希望能够做类似的事情:

app.testing => False
app.FLASK_ENV => development

,然后最终:

if app.testing == True:
    <do something>

PS-我知道应用程序可以正常加载此.env文件,因为如果删除这些值,环境将恢复为正式生产状态。

#settings.py
from pathlib import Path  # python3 only
from dotenv import load_dotenv
load_dotenv(verbose=True)
env_path = Path('.') / '.env'
load_dotenv(dotenv_path=env_path)

1 个答案:

答案 0 :(得分:0)

import os
print(os.environ['TESTING'])

JS中的等效值为process.env