代码之家  ›  专栏  ›  技术社区  ›  matousc

Django夹层无法识别正确的位置

  •  1
  • matousc  · 技术社区  · 6 年前

    我试图在一个夹层项目中使用多个站点。我有多个主题(摩德纳,诺瓦):

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

    实际名称(主机主题中的第一列)对应于用admin创建的db中的实际站点。

    但是,夹层完全忽略请求主机(或url),直接在settings.py中查找site_id。所以我可以通过在“设置”中更改网站ID来切换主题。如果我从设置中删除站点ID,它将崩溃,并出现站点ID丢失的错误(类似的错误)。我使用的是django测试服务器,“请求主机头”在浏览器中似乎是正确的。

    如何强制夹层根据请求主机选择正确的站点ID?我错过了什么?

    1 回复  |  直到 6 年前
        1
  •  0
  •   matousc    6 年前

    它不应该起作用。Django中的每个站点都应该有自己的实例。

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