Если у вас может быть несколько экземпляров одного и того же приложения с разными SITE_ID для каждого сайта, тогда это будет предпочтительным вариантом.Таким образом, вы можете использовать разные базы данных для каждого сайта или надежно использовать структуру сайтов Django.
Это возможно, если вы хотите, чтобы один процесс или несколько процессов обслуживали сотни сайтов, однако они изгибаютсятекущий дизайн Джанго.Использование Site.objects.get_current()
зависит от SITE_ID, поэтому вам нужно будет использовать что-то еще для определения текущего сайта.
Один пакет, который предлагает необходимую вам функциональность, - django-threadaded-multihost , вы можете использовать get_current_host
для каждого запроса, чтобы получить другой сайт.
Единственным недостатком является то, что любые приложения Django, которые используют Site.objects.get_current()
, нуждаются в модификации с такой настройкой, что затрудняетиспользовать некоторые подключаемые приложения неудобно для использования - вам придется либо обезопасить их от патчей, либо придерживаться приложений, которые вы сами создали для использования в многопоточном многопоточном режиме.
Итак, это возможно, но это просто не так.С Джанго сейчас все в порядке.