Heroku 访问环境变量问题

时间:2021-02-17 03:50:29

标签: python heroku environment-variables

我正在尝试向 Heroku 部署一个复杂的破折号应用程序,但我有需要隐藏的 API 密钥。我似乎无法部署它。当我使用像下面这样的子进程库来制作拉取环境变量的方法时,它在本地工作。但是,当我尝试在线访问该应用程序时,日志会为我从中提取的 API 提供未经授权的 401 错误。

from subprocess import run, PIPE

def out(command):
    result = run(command, stdout=PIPE, stderr=PIPE, shell=True)
    return result.stdout


key = out('heroku config:get key')

有没有更好的方法来做到这一点?谢谢!

2 个答案:

答案 0 :(得分:0)

只需在顶部导入 os 并使用 os.environ["key"] 获取 API 密钥(将 key 替换为您调用的环境变量)。

答案 1 :(得分:0)

为了补充 Seth 的答案,我的 settings.py 的顶部如下所示:

import environ
import os

env = environ.Env(
    DEBUG=(bool, False)
)

READ_DOT_ENV_FILE = env.bool('READ_DOT_ENV_FILE', default=False)
if READ_DOT_ENV_FILE:
    environ.Env.read_env()

DEBUG = env('DEBUG')
SECRET_KEY = env('SECRET_KEY')

Heroku->settings->config vars 中它看起来像 this