Python 在django中获取多个站点id的问题

Python 在django中获取多个站点id的问题,python,django,templates,mezzanine,multiple-sites,Python,Django,Templates,Mezzanine,Multiple Sites,我在夹层项目中使用了两个域名(.com和.mx)。当我使用Site.objects.get_current()函数获取当前站点id时,它只返回一个1。 无论我在浏览器中使用.com还是.mx 我想这是因为在我的settings.py中定义了SITE\u ID=1,当我将其编辑为2时,SITE.objects.get\u current()函数返回2 但我真正想要的是按站点定义模板,即当用户使用.com时,他将看到a.html,当他使用.mx时,他将看到b.html。但是正如我告诉site.obj

我在夹层项目中使用了两个域名(.com和.mx)。当我使用Site.objects.get_current()函数获取当前站点id时,它只返回一个1。 无论我在浏览器中使用.com还是.mx

我想这是因为在我的settings.py中定义了SITE\u ID=1,当我将其编辑为2时,SITE.objects.get\u current()函数返回2

但我真正想要的是按站点定义模板,即当用户使用.com时,他将看到a.html,当他使用.mx时,他将看到b.html。但是正如我告诉site.objects.get\u current()函数只给我一个id,无论我使用的是.com还是.mx,所以我不能按站点定义模板


因此,请建议我一些获取动态站点id的方法,或者有另一种方法,我可以使用它按站点定义模板

这并不完全是站点框架的工作方式。要区分使用站点框架的站点,每个站点都必须有自己的设置模块(因为您可以在其中设置
站点ID

您正在寻找的是一种从请求中获取当前站点的方法。您可以将该对象用于以下操作:

from django.contrib.sites.models import RequestSite    
site_name = RequestSite(request).domain

还有一种方法,它可以通过一些额外的功能(重定向、模板/url分配等)实现同样的功能。

Mezzanine实现了动态站点加载,从而放弃了站点ID的使用,因此这个答案有点误导。看一看这方面的文档:还看一看
mezzanine.utils.sites.current\u site\u id
,它提供了对当前正在访问的站点id的访问。