Django 夹层无法识别正确的站点

Django mezzanine does not recognize correct site

我想在一个夹层项目中使用多个站点。我有多个主题(moderna、nova):

HOST_THEMES = [
    ('.......', 'nova'),
    ('different.....', 'moderna'),
]

实际名称(HOST_THEMES 中的第一列)对应于使用管理员创建的数据库中的真实站点。

然而,夹层完全忽略请求主机(或url)并直接在settings.py中寻找SITE_ID。所以我可以通过在设置中更改 SITE_ID 来切换主题。如果我从设置中删除 SITE_ID,它会崩溃并出现 SITE_ID 丢失的错误(类似的东西)。我正在使用 django 测试服务器,"request host header" 在浏览器中似乎是正确的。

如何强制夹层根据请求主机选择正确的SITE_ID?我缺少什么?

应该不行。 Django 中的每个站点都应该有自己的实例。

但是,一个 Django 实例上的多个站点的问题可以通过 https://code.djangoproject.com/wiki/MultiHostMiddleware

来解决