有人可以解释python-dotenv模块的使用

时间:2017-01-09 11:21:33

标签: python

需要示例实时,请解释此模块python-dotenv 我对文档感到困惑

2 个答案:

答案 0 :(得分:34)

来自Github page

  

从.env中读取键值对,并将它们添加到环境变量中。使用12因素原则在开发和生产过程中管理应用程序设置非常棒。

假设您已在设置模块旁边创建.env文件。

.
├── .env
└── settings.py

将以下代码添加到settings.py

# settings.py
from os.path import join, dirname
from dotenv import load_dotenv

dotenv_path = join(dirname(__file__), '.env')
load_dotenv(dotenv_path)

SECRET_KEY = os.environ.get("SECRET_KEY")
DATABASE_PASSWORD = os.environ.get("DATABASE_PASSWORD")

.env是一个简单的文本文件。对于每行列出的每个环境变量,以KEY =“Value”的格式,将忽略以#开头的行。

SOME_VAR=someval
# I am a comment and that is OK
FOO="BAR"

答案 1 :(得分:15)

除了@Will的答案,python-dotenv模块还带有find_dotenv(),它将尝试查找.env文件。

# settings.py
import os
from dotenv import load_dotenv, find_dotenv

load_dotenv(find_dotenv())

SECRET_KEY = os.environ.get("SECRET_KEY")
DATABASE_PASSWORD = os.environ.get("DATABASE_PASSWORD")