Python Decouple library:设置与代码严格分离
安装:
pip install python-decouple
这个库可以方便地将设置参数与源代码分开。出于安全原因,将您的 secret key, database url, password etc... 保存在单独的位置 (environment file - .ini/.env file) 而不是在您的源代码 git 存储库中始终是一个好主意。
如果您想在不同的环境中使用不同的项目设置,它也很方便(例如 - 您可能希望为您的开发环境启用调试模式,而不是在生产环境中。)
我们如何决定参数应该放在源代码 git 存储库还是环境文件中?
这是一个简单的技巧 - 与 project settings 相关的参数直接进入源代码,与 instance settings 相关的参数进入环境文件。
前2个是project settings,后3个是instance settings。
- 语言环境和 i18n;
- 中间件和已安装的应用程序;
- 数据库、Memcached 和其他支持服务的资源句柄;
- Amazon S3 或 Twitter 等外部服务的凭据;
- 每个部署的值,例如实例的规范主机名。
让我们了解如何将它与 Django(python 框架)一起使用。
首先在项目的根目录中创建一个名为.env or .ini 的文件,下面是该文件的内容。
DEBUG=True
SECRET_KEY=ARANDOMSECRETKEY
DB_NAME=Test
DB_USER=Test
DB_PASSWORD=some_strong_password
现在让我们看看如何在 Django 中使用它。 settings.py的样本sn-p
# other import statement..
from decouple import config
SECRET_KEY = config('SECRET_KEY')
DEBUG = config('DEBUG', cast=bool)
DATABASES = {
'default': {
'NAME': config('DB_NAME'),
'USER': config('DB_USER'),
'PASSWORD': config('DB_PASSWORD'),
# other parameters
}
}
# remaining code.
希望这能回答你的问题。