【问题标题】:ImproperlyConfigured Set the xxxx environment variable - django-environImproperlyConfigured 设置 xxxx 环境变量 - django-environ
【发布时间】:2019-07-10 08:10:56
【问题描述】:

在我的 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 行的正则表达式没有返回任何内容

环境/环境.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) 没有返回

我错过了什么吗?

【问题讨论】:

  • env.str('SECRET_KEY')
  • @DavitTovmasyan 它返回相同的异常

标签: python django


【解决方案1】:

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

键和值之间不能有空格

问题:

KEY = VALUE

好:

KEY=VALUE

【讨论】:

    猜你喜欢
    • 2016-10-19
    • 2018-02-11
    • 2019-12-24
    • 1970-01-01
    • 2018-07-13
    • 2014-12-17
    • 2013-03-11
    • 2014-06-21
    • 2016-12-26
    相关资源
    最近更新 更多