因此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