配置不当设置xxxx环境变量-django-environ

时间:2019-02-16 10:06:10

标签: python django

在我的settings.py中,我正在像这样使用django-environ:

import os
import environ
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

env = environ.Env(
    SECRET_KEY=str,    
)

env_path = os.path.join(BASE_DIR, '.env')
environ.Env.read_env('.env')

SECRET_KEY = env('SECRET_KEY')

我的.env文件如下所示

SECRET_KEY = ******************

但是,当我运行该应用程序时,我会得到

  

django.core.exceptions.ImproperlyConfigured:设置SECRET_KEY   环境变量

找到了.env文件,并且正在从中读取行,因此找到它没有问题,但是以某种方式不起作用。

在执行线程之后,我发现用于解释.env行的正则表达式什么也不返回

environ / environ.py

        for line in content.splitlines():
        m1 = re.match(r'\A(?:export )?([A-Za-z_0-9]+)=(.*)\Z', line)
        if m1:
            key, val = m1.group(1), m1.group(2)
            m2 = re.match(r"\A'(.*)'\Z", val)
            if m2:
                val = m2.group(1)
            m3 = re.match(r'\A"(.*)"\Z', val)
            if m3:
                val = re.sub(r'\\(.)', r'\1', m3.group(1))
            cls.ENVIRON.setdefault(key, str(val))enter code here

re.match(r'\ A(?:export)?([A-Za-z_0-9] +)=(。*)\ Z',line)不返回

我在这里想念什么吗?

1 个答案:

答案 0 :(得分:0)

我通过检查负责解释.env行的正则表达式找到了答案-\ A(?:export)?([[A-Za-z_0-9] +)=(。*)\ Z

键和值之间不应有空格

问题:

KEY = VALUE

好:

KEY=VALUE