Безопасный изменить настройки. SITE_ID от промежуточного программного обеспечения в Django?

Я изменил multihost.py промежуточное программное обеспечение, которое я нашел по http://effbot.org/zone/django-multihost.htm для установки настроек. SITE_ID динамично, но имеют некоторые опасения, что я, возможно, просто оставил резервирование.

Большинством примеров я нашел для нескольких доменный хостинг, была установка с несколькими settings.py файлами hardcoded к их соответствующему SITE_IDs.

Я создал фиксацию с фатальным дефектом здесь? Будет изменение этого значения, динамично кусают меня в **.

from django.conf import settings
from django.contrib.sites.models import Site

class MultiHostMiddleware:

    def process_request(self, request):
        try:
            host_raw = request.META["HTTP_HOST"]
            colon = host_raw.find(':')
            if colon > -1:
                host = host_raw[0:colon]
            else:
                host = host_raw

            s = Site.objects.get(domain=host)
            if s:
                settings.SITE_ID = s.id

        except KeyError:
            pass # use default urlconf (settings.ROOT_URLCONF)

Для любопытного это в порядке до сих пор, но не противостояло фактическому трафику.

5
задан Ryan Townshend 12 August 2010 в 01:56
поделиться