@Lepilov

Настройка django wsgi.py для нескольких серверов?

Есть настроенный сервер на Ubuntu18, nginx, uwsgi (назову его stage)
В Django настройки (settings.py) разделены отдельно для development, staging.
base.py
ALLOWED_HOSTS = ['127.0.0.1']

development.py
from .base import *

DEBUG = True


staging.py
from .base import *
ALLOWED_HOSTS += 'staging.site.com'
DEBUG = False


wsgi.py
import os

from django.core.wsgi import get_wsgi_application
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'solution_project.settings.staging')
application = get_wsgi_application()


Т.е на сервере wsgi использует настройки со staging.py

Это все работает.

Теперь надо добавить еще такой же сервак но с другим доменом

я добавляю новый файл с настройками

test.py
<code>from .base import *
ALLOWED_HOSTS += 'test.site.com'
DEBUG = False</code>


Но что делать с uwsgi.py файлом проекта?
  • Вопрос задан
  • 69 просмотров
Решения вопроса 1
@bacon
Очень давно так делал, жутко неудобно. Лучше одинаковый код для всего, а различия вносить через переменные окружения, например
DEBUG = os.environ.get('PROJECT_NAME_DJANGO_DEBUG')

PS это просто пример, есть библиотеки которые environ в нормальные типы переводят bool, list и т.д.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы