Как изменить db в django в зависимости от request.get_host ()? - PullRequest
2 голосов
/ 28 марта 2010

Я создаю мультисайтовую платформу. Любой может сделать простой сайт с моей платформой. Я планирую использовать поддержку Django MultiDB. Один дБ на один сайт. И мне нужно изменить настройки БД в зависимости от request.get_host (). Я думаю, что я не очень хорошая идея. Подскажите другие решения? Как это реализовано на различных дизайнерах сайтов?

Ответы [ 2 ]

1 голос
/ 29 марта 2010

Возможно, вы захотите пересмотреть вопрос об использовании отдельной базы данных для расширенного сайта. При рассмотрении источника multi-db создается впечатление, что вы столкнетесь с несколькими проблемами масштабируемости, в зависимости от того, сколько сайтов вы хотите поддерживать:

В настоящее время все базы данных настроены в settings.py . Это может вызвать несколько проблем:

  • Каждый новый сайт потребует перезагрузки Django.
  • settings.py может стать большим.

Лучшим подходом может быть использование одной БД и привязка сайта / учетной записи к каждой записи по мере необходимости.

0 голосов
/ 20 марта 2011

Вы можете настроить один сайт для каждого «сайта», со своим собственным файлом настроек, прослушивая собственный сокет, используя ту же кодовую базу. Я делаю это и могу легко поддерживать более 30 одновременно работающих сайтов на сервере среднего размера. Поддерживаемость конфигураций и сценариев запуска - единственная проблема.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...