如何在 linux 上使用 venv 设置 Django 环境变量?
How do you set Django environment variables with venv on linux?
我试过使用 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。
我做错了什么!谢谢
如果 settings.py 存在,请尝试:
SECRET_KEY = '<my secret key>'
Django 本身不读取 .env
文件。启用它的最佳方法是使用 django-environ package
修改你settings.py
import environ
env = environ.Env(
# set casting, default value
DEBUG=(bool, False)
)
和 .env 文件
SECRET_KEY=your-secret-key
我试过使用 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。
我做错了什么!谢谢
如果 settings.py 存在,请尝试:
SECRET_KEY = '<my secret key>'
Django 本身不读取 .env
文件。启用它的最佳方法是使用 django-environ package
修改你settings.py
import environ
env = environ.Env(
# set casting, default value
DEBUG=(bool, False)
)
和 .env 文件
SECRET_KEY=your-secret-key