pka*_*mol 12 python environment-variables flask docker
我想使用 python3/flask 构建一个非常简单的 REST api。
举例来说,我想将我的SECRET_KEYrequired by设置flask为 env var。
推荐的方法是什么?
我知道python-dotenv允许(或者我应该说需要?).flaskenv带有 env vars的文件以以下形式设置为键值对的包
SECRET_KEY="my_secret_key"
DB_NAME="mydatabase"
Run Code Online (Sandbox Code Playgroud)
等等。
然后(我假设)我可以创建一个settings.py文件,例如
import os
SECRET_KEY = os.getenv('SECRET_KEY`)
Run Code Online (Sandbox Code Playgroud)
然后import settings对我的烧瓶文件等执行。
我的主要问题是如何在容器化环境中进行调整,其中不会有这样的.flaskenv文件,但相应的变量将作为容器本身中的运行时环境变量可用(例如通过其编排器)
上面的形式settings.py是否能够在没有 的情况下检索环境变量.flaskenv?
Ada*_*old 15
python-dotenv实际上与 Flask 无关。用于将您的.env文件转换为实际的 env 变量。因此,如果您要在没有它的情况下使用实际的 env 变量,您os.getenv应该仍然可以工作。
旁注:您还可以使用os.environ:
os.environ.get("SECRET")
Run Code Online (Sandbox Code Playgroud)
在解释器中设置环境变量:
export SECRET_KEY=123
Run Code Online (Sandbox Code Playgroud)
调用变量environ.get():
from os import environ
from flask import Flask
app = Flask(__name__)
app.config['SECRET_KEY'] = environ.get('SECRET_KEY')
Run Code Online (Sandbox Code Playgroud)
核实:
@app.route('/verify')
def verify():
return '<p>' + app.config['SECRET_KEY'] + '</p>'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17722 次 |
| 最近记录: |