Я работаю над своим API Backend Flask. У меня есть файл .env в каталоге со следующими переменными: client_id , client_secret , mysql_password , flask_app . Я использую os.getenv ("client_id") и os.getenv ("client_secret") и внешний API IM, подключенный к успешному, и я могу запросить данные из них. Br /> Я делаю то же самое для подключения к моему DB, получив доступ os.getenv ("mysql_password") < /code> и настройки URI: < /p>
Код: Выделить всё
db_pswrd = os.getenv("MYSQL_PASSWORD")
app.config["SQLALCHEMY_DATABASE_URI"] = f"mysql://root:{db_pswrd}@localhost/my_db"
< /code>
Однако, как только я попытаюсь подключиться к базе данных MySQL через Flask-sqlalchemy, происходит следующая ошибка: < /p>
sqlalchemy.exc.OperationalError: (MySQLdb.OperationalError) (1045, "Access denied for user 'root'@'localhost' (using password: YES)")
(Background on this error at: https://sqlalche.me/e/20/e3q8)
Обратите внимание, что я сильно урезал сообщение об ошибке. звонок
, ошибка базы данных исчезла, и я смог подключиться к базе данных. Почему мне не нужно вызывать эту функцию и я могу напрямую получить доступ к CLIENT_ID и CLIENT_SECRET через os.getenv() для внешнего API, но я не могу сделать это для MYSQL_PASSWORD? Все эти переменные env находятся в формате .env
Подробнее здесь:
https://stackoverflow.com/questions/793 ... etrieve-my