为什么我的代码不能与环境变量一起正常工作?

时间:2019-08-04 16:44:30

标签: django environment-variables

因此if-else语句的执行就像接收True而不是False一样,但是print语句显示“ False”,但是上帝知道为什么2次。

但是当我只是在settings.py中将False分配给DOCKER时,它会按预期工作。

settings.py:

import os
from datetime import timedelta
import environ


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

environ.Env.read_env()

DEBUG = env('DEBUG')

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

SECRET_KEY = env('SECRET_KEY')

DOCKER = False # env('DOCKER')

print(DOCKER)
if DOCKER:
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.postgresql',
            'NAME': 'answerly',
            'USER': 'ubuntu',
            'PASSWORD': 'ubuntuanswerly',
            'HOST': 'db',
            'PORT': '5432',
        }
    }
else:
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.postgresql',
            'NAME': 'answerly',
            'USER': 'ubuntu',
            'PASSWORD': 'ubuntuanswerly',
            'HOST': 'localhost',
            'PORT': '5432',
        }
    }

.env:

DEBUG=on
SECRET_KEY=')fv!ujycyce4rf##exy8q=zbo4)o5dano73-o9(g3ni-41)ed*'
DOCKER=False

0 个答案:

没有答案