Как присвоить переменную строке с дефисом в Python? - PullRequest
0 голосов
/ 27 мая 2020

Там очень просто. У меня есть prob.py с переменными окружения:

SECRET_KEY = mykey
POSTGRES_PASSWORD=mypspwd
CONTACT = myemail@me.com
APIKEY_BOT = 11aa11a1-111a-1aa1-11a1-11aaa1a1a111

Когда я пытаюсь получить к нему доступ из моего Django файла настроек, я получаю следующую ошибку:

File "/usr/src/app/prjbot/prob.py", line 4
APIKEY_BOT= 11aa11a1-111a-1aa1-11a1-11aaa1a1a111
                   ^
SyntaxError: invalid syntax

I ' m предполагая, что проблема в дефисах. Я попытался добавить кавычки вокруг ключа API, но это не сработало. Что мне не хватает?

Я обнаружил другие проблемы с переполнением стека, когда пользователи хотят, чтобы имя переменной содержало дефис, но я не обнаружил этой проблемы, когда переменная определяется строкой, содержащей дефис.

1 Ответ

1 голос
/ 27 мая 2020

Вы неправильно используете переменные окружения. Переменные среды предназначены для размещения вне вашего кода в файле с именем .env.

Затем вы можете настроить свой код Python для импорта переменных из файла .env.

.env

SECRET_KEY = mykey
POSTGRES_PASSWORD=mypspwd
CONTACT = myemail@me.com
APIKEY_BOT = 11aa11a1-111a-1aa1-11a1-11aaa1a1a111

prob.py

Используйте python -decouple для импорта ваших переменных.

from decouple import config

SECRET_KEY         = config('SECRET_KEY')
POSTGRES_PASSWORD  = config('POSTGRES_PASSWORD')
CONTACT            = config('CONTACT')
APIKEY_BOT         = config('APIKEY_BOT')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...