我试图将我的敏感数据设置到我的.env文件中。.env'PAYPAL_API_USERNAME'未定义
我做了一些研究并成功创建了这个文件。
https://ultimatedjango.com/learn-django/lessons/handling-sensitive-keys/
https://django-environ.readthedocs.io/en/latest/
我可以通过我的settings.py设置我的密钥和数据库设置和访问它,一切工作正常。 例如像 -
env.db()SECRET_KEY = os.environ["SECRET_KEY"]
DATABASES = {
'default': env.db(), # Raises ImproperlyConfigured exception if DATABASE_URL not in os.environ
}
和数据库的详细信息打印在我的Python壳。而django-oscar运行没有问题。
现在,我试图在相同的.env文件中设置我的贝宝详细信息,但似乎有问题。在我.ENV文件我已经为设置 -
#PAYPAL SETTINGS
export PAYPAL_MODE=sandbox # sandbox or live
export PAYPAL_CLIENT_ID=my_paypal_client_id
export PAYPAL_CLIENT_SECRET=my_payal_secret
#PAYPAL SETTINGS
export PAYPAL_API_USERNAME=mypaypalusername.com
export PAYPAL_API_PASSWORD=my_password
export PAYPAL_API_SIGNATURE=my_signature
在我的settings.py我试图做一个参考吧,所以我的应用程序可以访问它 -
#PAYPAL SETTINGS
PAYPAL_API_USERNAME = os.environ["PAYPAL_API_USERNAME"]
PAYPAL_API_PASSWORD = os.environ[PAYPAL_API_PASSWORD]
PAYPAL_API_SIGNATURE = os.environ[PAYPAL_API_SIGNATURE]
import paypalrestsdk
PAYPAL_MODE=os.environ['PAYPAL_MODE']
PAYPAL_CLIENT_ID=os.environ['PAYPAL_CLIENT_ID']
PAYPAL_CLIENT_SECRET=os.environ['PAYPAL_CLIENT_SECRET']
我得到的错误时运行服务器 -
PAYPAL_API_USERNAME=os.environ[PAYPAL_API_USERNAME]
NameError: name 'PAYPAL_API_USERNAME' is not defined
我已经做了一些研究,但没有得到专门针对这个问题的答案。请,有人可以指点我正确的方向吗?
谢谢。
的错误意味着您试图访问未被定义的变量。在这种情况下,您正试图从变量PAYPAL_API_USERNAME中读取值。 可能你对os.environ的调用是错误的。 os.environ它基本上是一个字典,其中的键是对应于您在OS中设置的变量名称的字符串。 变量= os.getenviron [ 'NAME_OF_VAR_AS_STRING'] 所以,正确的说法是: #注意引号 PAYPAL_API_USERNAME = os.environ [ “PAYPAL_API_USERNAME”] – BangTheBank