英文:
How can I load SECRET_KEY from .env file in Django?
问题
这是我的settings.py文件的外观:
import os
import dotenv
dotenv_file = os.path.join(BASE_DIR, ".env")
if os.path.isfile(dotenv_file):
dotenv.load_dotenv(dotenv_file)
# 更新密钥
SECRET_KEY = os.environ['SECRET_KEY']
这是我的.env文件的外观:
SECRET_KEY="TOPSECRETKEY"
当运行python manage.py migrate
时,它会返回KeyError: 'SECRET_KEY'
。
英文:
This is how my settings.py looks like:
import os
import dotenv
dotenv_file = os.path.join(BASE_DIR, ".env")
if os.path.isfile(dotenv_file):
dotenv.load_dotenv(dotenv_file)
# UPDATE secret key
SECRET_KEY = os.environ['SECRET_KEY']
This is how my .env file looks like:
SECRET_KEY="TOPSECRETKEY"
When running python manage.py migrate
, it returns KeyError: 'SECRET_KEY'
答案1
得分: 1
我找到解决方法了,(供以后参考)
我的 .env 文件与 settings.py 放在同一个文件夹里,但需要放在 manage.py 的同一个文件夹里。
英文:
I figured it out, (for future reference)
My .env file was in the same folder as settings.py and it needed to be in the same folder as manage.py
答案2
得分: 0
你可以使用python-decouple
库。
从它的文档中可以看到:
Decouple 帮助你组织你的设置,以便你可以更改参数而不必重新部署你的应用程序。
它还使你可以轻松地:
- 将参数存储在ini或.env文件中;
- 定义全面的默认值;
- 正确转换值为正确的数据类型;
- 只有一个配置模块来管理所有的实例。
你可以在库文档中阅读更多信息 <https://pypi.org/project/python-decouple/#usage>
英文:
You can use the python-decouple
library.
A resume from its doc:
Decouple helps you to organize your settings so that you can change parameters without having to redeploy your app.
It also makes it easy for you to:
- store parameters in ini or .env files;
- define comprehensive default values;
- properly convert values to the correct data type;
- have only one configuration module to rule all your instances.
You can read more in the library documentation itself <https://pypi.org/project/python-decouple/#usage>
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论