如何解决你如何在linux上用venv设置Django环境变量? Python.env 内部settings.py
我尝试过使用 Python 的 os,在终端中手动输入变量,并使用 .env 文件设置我的环境变量,但总是得到
raise ImproperlyConfigured("The SECRET_KEY setting must not be empty.")
django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty.
Python
# env.py
import os
os.environ['SECRET_KEY'] = '<my secret key>'
.env 内部
export SECRET_KEY=<my secret key>
settings.py
SECRET_KEY = os.getenv("SECRET_KEY")
运行我的 python 脚本不会使环境变量持久化。
- Ubuntu 20.04.02
- Django 3.1
- 使用 VSCode
我已经仔细检查了正确的 venv 已激活。
我做错了什么!谢谢
解决方法
Django 本身不读取 .env
文件。启用它的最佳方法是使用 django-environ 包
修改你的settings.py
import environ
env = environ.Env(
# set casting,default value
DEBUG=(bool,False)
)
和 .env 文件
SECRET_KEY=your-secret-key
,
尝试是否在 settings.py 中存在:
SECRET_KEY = '<my secret key>'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。