Я пытаюсь запустить django-cms на двух разных доменах. Для этого я создал два домена (django.contrib.sites) и добавил к ним страницы django-cms. Теперь я создал SiteDetectionMiddleware:Django-CMS: Несколько доменов в одном проекте
class SiteDetectionMiddleware:
def process_request(self, request):
settings.SITE_ID = 1
host = request.META.get('HTTP_HOST')
if host:
try:
site = Site.objects.get(domain=host)
settings.SITE_ID = site.id
except Site.DoesNotExist:
pass
Это, кажется, работает правильно, когда я называю веб-сайт в браузере в первый раз после перезагрузки Apache. Затем я перешел на другой сайт и получил ошибку NoReverseMatch.
Есть ли у кого-нибудь идеи, что может быть неправильным?
Я думал, что это должно работать из коробки в django-cms?
привет Colin
Спасибо, это очень помогло. :) +1 – cwirz
@Hedde van der Heide, как мы можем загружать соответствующие settings.py для каждого сайта динамически на основе типизированного URL-адреса. – bhushya
@Wirzi Как загружать 'settings_foo.py' и' settings_bar.py' динамически на основе идентификатора сайта? – bhushya