Python 多个域的一个Django应用程序实例

Python 多个域的一个Django应用程序实例,python,django,django-sites,Python,Django,Django Sites,我尝试创建一个Django应用程序,它将使用单个应用程序实例为多个域工作 例如: 有三个域:group1.com、group2.com、group3.com 每个域在登录后都有可用的受限内容 user1与group1.com和group2.com关联 当user1登录到group1.com并尝试进入group2.com时,他将自动登录到group2.com 有一个URL,例如DOMAIN_NAME/posts/,它将显示用户从与该用户关联的所有域登录的所有内容(在这种情况下,对于user1,应

我尝试创建一个Django应用程序,它将使用单个应用程序实例为多个域工作

例如:

  • 有三个域:group1.com、group2.com、group3.com
  • 每个域在登录后都有可用的受限内容
  • user1与group1.com和group2.com关联
  • 当user1登录到group1.com并尝试进入group2.com时,他将自动登录到group2.com
  • 有一个URL,例如DOMAIN_NAME/posts/,它将显示用户从与该用户关联的所有域登录的所有内容(在这种情况下,对于user1,应该有来自group1.com和group2.com的所有“posts”)
  • 当user1进入group3.com时,他没有登录
我使用Django站点框架将用户与域相关联——特定域中用户的内容限制可以很好地工作

此外,我在settings.py中使用了SESSION\u COOKIE\u DOMAIN参数来表示域之间的“共享”COOKIE,不幸的是,它只适用于子域。例如,设置后:

SESSION_COOKIE_DOMAIN = '.group.com'
在我编写了简单的中间件之后,我能够满足上面所写的要求,但仅限于子域,如“one.group.com”、“two.group.com”、“three.group.com”

我一直在寻找解决这个问题的方法,但我还没有找到最新Django3.x框架的答案

有没有办法像我解释的那样处理这个问题?

我想是“为您准备”包

首先,你应该给一些领域的权限

ALLOWED_HOSTS = [example1.com,example2.com,example3.com]
然后,你可以使用


您可以看到更多信息->

使用自定义中间件如何:
from django_hosts import patterns, host
host_patterns = patterns('path.to',
    host(r'api', 'api.urls', name='api'),
    host(r'beta', 'beta.urls', name='beta'),
)