https://medium.com/the-andela-way/deploying-a-python-flask-app-to-heroku-41250bda27d0
Я следую этой статье, чтобы развернуть свое фляжное приложение на Heroku. Однако я скрыл свои ключи подключения к базе данных и не зафиксировал их в своем репозитории GitHub.
from flask import Flask, jsonify, request
from flask_cors import CORS
from pymongo import MongoClient, TEXT
from langdetect import detect
import json
import utils
import config
connection_str = config.connection_str
db_name = config.db_name
app = Flask(__name__)
cors = CORS(app)
client = MongoClient(connection_str)
db = client.get_database(db_name)
Мне нужны connection_str и db_name из utils, и они не зафиксированы.
В статье не объясняется, как скрыть эти ключи или получить их откуда-то еще при развертывании приложения Flask. Любая помощь?
Извините за поздний прием. Ваш ответ действительно помог!






В Heroku есть метод предоставления секретов с помощью переменные среды. Вы можете получить к ним доступ через os.environ.
Устанавливать:
heroku config:set db_name=foo-name
heroku config:set connection_str=your-connection-string-here
Чтобы получить доступ:
import os
print(os.environ["db_name"])
print(os.environ["connection_str"])
Установите переменные среды (измените YOURAPPNAME на имя вашего приложения): https://dashboard.heroku.com/apps/ИМЯ ВАШЕГО ПРИЛОЖЕНИЯ/settings#ember553
Получить переменные окружения:
os.getenv("db_name")
os.getenv("connection_str")
Я ответил на ваш вопрос? Пожалуйста, отметьте мой ответ правильным, если он есть.