在我的设置文件中,我正在使用ifelse语句来控制要使用的数据库。
我正在使用:
1)开发:本地SQL数据库。
2)生产:生产中的PostgresSQL(项目在Heroku中托管)。
取决于是否连接到每个数据库的最佳方法是什么 我正在开发(本地PC)或生产(部署到 Heroku)?
现在我正在使用ifelse条件,但是每次在本地工作时都必须更改DEBUG。有时我忘记将其更改为false以用于生产。
我有一个包含所有这些变量的.env文件。
settings.py:
import os
from decouple import config
SECRET_KEY = config('SECRET_KEY')
DEBUG = config('DEBUG', default=False, cast=bool)
SECURITY WARNING: don't run with debug turned on in production!
if DEBUG:
# Redirecciona www y http a https
SECURE_SSL_REDIRECT = False
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
else:
# Redirecciona www y http a https
SECURE_SSL_REDIRECT = True
### HEROKU POSTGRESS ACCESS
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': config('HEROKU_POSTGRESQL_NAME'),
'USER': config('HEROKU_POSTGRESQL_USER'),
'PASSWORD': config('HEROKU_POSTGRESQL_PASSWORD'),
'HOST': config('HEROKU_POSTGRESQL_HOST'),
'PORT': config('HEROKU_POSTGRESQL_PORT'),
}
}
我最近发现的另一个选项是:Django-Split-Setting。我需要进一步调查。