Can';t将smtp详细信息的.env文件连接到django 设置.py 环境署署长

Can';t将smtp详细信息的.env文件连接到django 设置.py 环境署署长,django,smtp,Django,Smtp,我发现SMTPserverdisconnected有错误。。请先运行connect 我想将我的.env文件连接到django,这样SMTPServer就可以连接,我可以向用户发送验证电子邮件。这将是很大的帮助。。谢谢您不能在Windows机器中使用答案中所述的源代码 如果您想使用.ev文件,请考虑使用直接读取该文件的库,不必从环境变量中加载它。 settings.py中的示例用法: import environ env = environ.Env( # set casting, defa

我发现SMTPserverdisconnected有错误。。请先运行connect
我想将我的.env文件连接到django,这样SMTPServer就可以连接,我可以向用户发送验证电子邮件。这将是很大的帮助。。谢谢

您不能在Windows机器中使用答案中所述的
源代码

如果您想使用.ev文件,请考虑使用直接读取该文件的库,不必从环境变量中加载它。

settings.py中的示例用法:

import environ
env = environ.Env(
    # set casting, default value
    DEBUG=(bool, False)
)
# reading .env file
environ.Env.read_env()

# False if not in os.environ
EMAIL_HOST = env('EMAIL_HOST')

另一种替代解决方案是使用Docker with
Docker compose
,您可以在其中加载。

根据ruddra的回答,您还可以使用

pip安装python dotenv

然后在您的settings.py中

#settings.py
从dotenv导入加载\u dotenv
加载_dotenv()
然后,您可以使用
getenv
或示例中的
environ.get
函数从内置的
os
模块中获取env变量,并提供默认值(如果它们不存在)

从操作系统导入getenv
EMAIL\u HOST=getenv('EMAIL\u HOST','localhost')
其中localhost是您希望设置为默认值的内容

export EMAIL_HOST_PASSWORD=<>
export EMAIL_HOST_USER = <>
export EMAIL_HOST=<>
(Carealenv) E:\atom data\mywebsite>source .env
'source' is not recognized as an internal or external command,
operable program or batch file.
import environ
env = environ.Env(
    # set casting, default value
    DEBUG=(bool, False)
)
# reading .env file
environ.Env.read_env()

# False if not in os.environ
EMAIL_HOST = env('EMAIL_HOST')