Как упоминал yedpodtrzitko, есть фреймворк для сайтов, но, как вы упомянули, это очень ручная настройка.
Требуется настройка в settings.py, но она только немного менее ручная, чем настройка сайтов. (Он может работать как с несколькими доменами, так и с сайтами, и параметр SITE_ID
).
Существует идея для замены get_absolute_url , которая облегчит подобные вещи, хотя я думаю, что ее реализация страдает от той же проблемы (как получить домен, схема [http vs https] и т. Д.) .
Я играл с идеей промежуточного программного обеспечения, которое проверяет входящие запросы и создает настройку «наиболее вероятный домен», основанную на частоте значения заголовка HTTP HOST. Или, возможно, он может установить этот параметр для каждого запроса индивидуально, чтобы у вас всегда был доступ к текущему домену. Я не дошел до того, чтобы всерьез заняться этим, но это мысль.