Ошибка имени при попытке импортировать ключ API из .env
Я пытаюсь хранить ключи API в файле .env
Я создал файл как файл типа File containing settings for editor. Сохранил свои APIKeys
TWILIO_ACCOUNT_SID=***
TWILIO_AUTH_TOKEN=***
TWIML_APPLICATION_SID=***
TWILIO_API_KEY=***
TWILIO_API_SECRET=***
Установил decouple, импортировал и использовал config для получения моих API-токенов в моем файле settings.py
from decouple import config
...
TWILIO_ACCOUNT_SID = config(TWILIO_ACCOUNT_SID)
TWILIO_AUTH_TOKEN = config(TWILIO_AUTH_TOKEN)
TWIML_APPLICATION_SID = config(TWIML_APPLICATION_SID)
TWILIO_API_KEY = config(TWILIO_API_KEY)
TWILIO_API_SECRET = config(TWILIO_API_SECRET)
Однако я получаю сообщение об ошибке:
TWILIO_ACCOUNT_SID = config(TWILIO_ACCOUNT_SID)
NameError: name 'TWILIO_ACCOUNT_SID' is not defined
Вам не нужно использовать библиотеку decouple для чтения переменных окружения.
Сначала загрузите поддерживающий плагин .env для PyCharm (если вы используете именно его)
https://www.codestudyblog.com/cs2112pyc/1224021812.html
Это позволит вам устанавливать и получать переменные из вашего файла. Убедитесь, что в вашей конфигурации установлен правильный .env файл.
В моем файле .env переменная установлена на:
TWILIO_ACCOUNT_SID=SUPER SECRET KEY
Тогда все, что вам нужно, это:
import os
twilio_key = os.environ.get('TWILIO_ACCOUNT_SID')
print(twilio_key)
>>>SUPER SECRET KEY
Process finished with exit code 0