如何在linux上使用venv设置Django环境变量



我尝试过使用Python的操作系统,手动在终端中键入变量,并使用.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>

设置.py

SECRET_KEY = os.getenv("SECRET_KEY")

运行我的python脚本不会使环境变量持久存在。


  • Ubuntu 20.04.02
  • Django 3.1
  • 使用VSCode

我已经仔细检查了激活的正确venv。

我做错了什么!感谢

Django本身不读取.env文件。最好的方法,启用它是使用django环境包

修改您的设置.py

import environ
env = environ.Env(
# set casting, default value
DEBUG=(bool, False)
)

和.env文件

SECRET_KEY=your-secret-key

如果在设置中尝试.py存在:

SECRET_KEY = '<my secret key>'

最新更新