Окружающая среда
django 2.2
python 3.6
AWS Экземпляр EC2 Ubuntu
gunicorn
nginx
Мои настройки
Теперь я использую один рабочий сервер aws Экземпляр Ubuntu.
Я отделил settings.py
Отложено на локальном и производственном сервере
# local : Project/setting/dev.py
DEBUG = True
ALLOWED_HOSTS = ['localhost']
database = {
..skip..
}
# production : Project/setting/real.py
DEBUG = False
ALLOWED_HOSTS = ['~real_server_host of ec2~']
database = {
..AWS RDS instance for real..
}
# manage.py
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Project.settings.dev")
# wsgi.py
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Project.settings.real")
Вопрос
Мне нужно задействовать еще один aws экземпляр для теста перед развертыванием в режиме реального времени.
Таким образом, я сделал один и тот же экземпляр EC2 и экземпляр RDS (выгруженный из реальных rds) для теста.
Но у меня нет никакой хорошей идеи, как разделить os.environ.setdefault
на wsgi.py
После того, как я сделал еще один файл настроек для тестового сервера.
# Project/setting/test.py
DEBUG = True
ALLOWED_HOSTS = ['~test_server_host of ec2~']
database = {
..AWS RDS instance for test..
}
Я ожидаю, что код ниже будет работать.
# wsgi.py
if realserver:
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Project.settings.real")
else:
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Project.settings.test")
, и мне придется использовать другой URL-адрес API, в зависимости от реального или тестового .
# views.py
if real:
get_data = requests.get(real_api.apiurl.com)
else :
get_data = requests.get(test_api.apiurl.com)
Как мне?