【发布时间】:2021-03-21 12:45:57
【问题描述】:
我正在尝试为我的项目设置 .env 文件。但这似乎不正确。
我将 .env 文件存储在与 config.py 文件相同的文件夹中,如下所示。
|__run.py
|___|myproject
|__config.py
|__.env
我的 config.py 文件中的代码:
from starlette.config import Config
from starlette.datastructures import Secret, CommaSeparatedStrings
config = Config(".env")
BACKHUG_JWT_AES_KEY = config('BACKHUG_JWT_AES_KEY', default=None)
print(type(BACKHUG_JWT_AES_KEY))
print(BACKHUG_JWT_AES_KEY)
.env 文件中的数据:
BACKHUG_JWT_AES_KEY="SAMPLE_AES_KEY"
但我得到的结果是:
<class 'NoneType'>
None
我不知道为什么它得到了 None 对象。我该如何解决?
我从 run.py 文件运行我的项目。
run.py 文件中的代码:
import uvicorn
if __name__ == "__main__":
uvicorn.run("myproject.main:app", host="0.0.0.0", port=8888, reload=True)
【问题讨论】:
-
如果将
print(open(".env").read())放在config.py的顶部会得到什么? -
你好@ArakkalAbu,当我运行 config.py 文件时,我可以从 .env 文件中获取数据。但是当我使用 run.py 文件运行服务器时。我无法获取数据。