如何在 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 脚本不会使环境变量持久化。


我仔细检查了是否激活了正确的 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