Django:os.environ.get与导入设置

时间:2018-08-08 20:29:20

标签: django

您更愿意在views.py中进行

from django.conf import settings 
stripe.api_key = settings.STRIPE_SECRET_KEY

import os
stripe.api_key = os.environ.get('SECRET_KEY')

感谢您的帮助。在我的设置中,我还使用了os.environ.get导入。

2 个答案:

答案 0 :(得分:0)

启动服务器后,设置仅应更改一次。

如果有人要在仍在运行的情况下更改您的环境,那么您将容易遭受错误或更严重的攻击。<​​/ p>


在进行测试时,第二种方法会将您锁定在需要在具有完整环境控制的环境中运行而不是能够切换正在使用的设置文件的环境中的额外要求。


第一种方法是DRYer,您已经声明无论如何都要在设置文件中进行设置,因此无需为两个变量设置相同的值。


tl; dr-永远不要使用第二种方法。

答案 1 :(得分:0)

您的问题有点过头了。第一种选择是您将如何访问代码中的密钥,但未指定如何获取密钥。会做什么

import os
stripe.api_key = os.environ.get('SECRET_KEY'). 

在您的设置中。您之所以这样做有两个原因,首先,您可以在github上进行项目,但没有人看到您的秘密密钥;另外两个,如果有人不应该访问您的代码,则可以掌握它,而他们却没有有该信息。基本上,将私钥或与此相关的任何密钥从环境中移出而不是在您的设置中进行安全得多。然后,您可以使用选项一在需要/的代码中访问它。