【问题标题】:What does IP_NETWORK and IP_DEVICE in the Decouple Python library mean?Decouple Python 库中的 IP_NETWORK 和 IP_DEVICE 是什么意思?
【发布时间】:2020-07-29 17:48:23
【问题描述】:

我正在阅读Decouple Python 库,但我不明白以下代码的作用-

IP_NETWORK = config("IP_NETWORK")
IP_DEVICE = config("IP_DEVICE")

我知道,必须有一个.env 文件设置,其中必须声明IP_NETWORKIP_DEVICE。但我不确定这个模块是如何工作的。 另外,如何找到IP_NETWORKIP_DEVICE

我不太确定我在说什么,可能没有意义,但任何解释都值得赞赏!

【问题讨论】:

  • 如果有人可以解释 Python 解耦库的工作和用法,这将对我和其他人有所帮助。出于同样的原因,我设置了赏金。

标签: python-3.x decoupling


【解决方案1】:

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.

希望这能回答你的问题。

【讨论】:

    猜你喜欢
    • 2010-09-29
    • 2014-05-14
    • 1970-01-01
    • 2012-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-03
    • 1970-01-01
    相关资源
    最近更新 更多