如何使用app.config.from_envvar()?
我查看了 Flask 文档并搜索了这个主题,我所知道的就是这样做。
DATABASE = 'flaskr.db'
DEBUG = True
SECRET_KEY = 'development key'
app = Flask(__name__)
app.config.from_envvar(’FLASKR_SETTINGS’, silent=True)
这会从 FLASKR_SETTINGS 加载配置吗?程序如何知道什么是 FLASKR_SETTINGS?我还应该设置这样的东西(配置文件的路径)吗?:
FLASKR_SETTINGS = desktop/my_flask_project/FlaskConfig
并将前 3 行移到该文件中,当我运行该文件时,它将被加载?
我只选择使用这些,对吗?在 app.config.from_envvar (这一个用于从外部文件加载配置)或 app.config.from_object(name)(这将在文件中加载配置)?我理解正确吗?
envvar
是缩写Environment Variable
。如果您使用基于 Linux 的操作系统(Ubuntu、Mac 等),那么当您运行普通 shell 时,您可能正在运行bash
。要在 bash 中设置环境变量,您只需执行以下操作:
$ SOME_NAME=some_value
因此,对于 Flask 应用程序来说,它是从FLASKR_SETTINGS
环境变量,你会这样做:
$ FLASKR_SETTINGS=/path/to/settings/file.ext
$ python your_script.py
Flask 所做的只是简单地导入该文件,就像它是一个普通的 Python 文件一样,并提取文件中的每个 UPPERCASE_ONLY 名称(任何其他 caseCombination 将被忽略)。
对于from_object
- 实际上,from_object
也可以采取可进口的 string:
app.config.from_object("importable.configuration")
最后,请注意,您不必只拥有one配置调用 - 可以使用多个调用:
app.config.from_object("your.package.default.config")
app.config.from_envvar("YOUR_APPS_ENVVAR", silent=True)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)