我試圖在兩個不同的域上運行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中開箱即用?
關於科林
謝謝,這有很大的幫助。 :) +1 – cwirz
@Hedde van der Heide我們如何根據類型url動態地爲每個網站加載各自的settings.py。 – bhushya
@Wirzi你如何根據站點ID動態加載'settings_foo.py'和'settings_bar.py'? – bhushya