http://effbot.org/zone/django-multihost.htmで見つけた multihost.py ミドルウェアを変更して、settings.SITE_ID を動的に設定しましたが、予約を残したばかりかもしれないという懸念があります。
複数のドメイン ホスティングで見つけたほとんどの例は、それぞれの SITE_ID にハードコードされた複数の settings.py ファイルでセットアップされています。
ここに致命的な欠陥がある修正プログラムを作成しましたか? この値を動的に変更すると、a**.
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)
興味深いことに、これはこれまでのところ稼働していますが、実際のトラフィックには耐えられませんでした。