Отображение различных шаблонов в зависимости от хоста в Django

Я использую Mezzanine, основанный на Django. Я настроил с ним многопользовательскую среду. Итак, я использую:

example.com
sub1.example.com
sub2.example.com

Таким образом, Mezzanine может отображать различный контент в зависимости от текущего домена. Название сайта и сообщения отличаются. Однако я не могу найти правильный способ изменить шаблоны на основе субдомена или «основного» домена (example.com).

Для этого есть настройка в Mezzanine (HOST_THEMES):

HOST_THEMES = (('sub1', 'app_theme_1'), ('sub2', 'app_theme_2'))

Это не работает.


person First Last    schedule 27.03.2016    source источник
comment
Вот мысль... (извините, я на своем телефоне, поэтому я не могу публиковать фрагменты) установить часть промежуточного программного обеспечения, которое просматривает поддомен и изменяет расположение файлов шаблонов в зависимости от того, что он находит.   -  person The Brewmaster    schedule 28.03.2016
comment
Сайты Django могут быть тем, что вы ищете docs.djangoproject.com/en/ 1.9/ref/contrib/сайты   -  person WayBehind    schedule 28.03.2016


Ответы (1)


  • Убедитесь, что вы используете полные имена хостов в настройке HOST_THEMES (в вашем примере это не так)
  • Убедитесь, что общедоступный веб-сервер (nginx, apache) правильно перенаправляет заголовок HTTP_HOST.
  • Убедитесь, что вы создали фактические записи сайтов с правильными поддоменами в разделе «Сайты» панели администратора Mezzanine.
person Stephen McDonald    schedule 28.03.2016
comment
Я использую сервер разработки Django при тестировании. Как я могу проверить это на nginx или apache? Должен ли я развертывать? - person First Last; 28.03.2016
comment
Я просто дал вам список вещей, которые нужно проверить, так что это к вам не относится. - person Stephen McDonald; 31.03.2016