Один Django экземпляр приложения для нескольких доменов - PullRequest
2 голосов
/ 05 февраля 2020

Я пытаюсь создать приложение 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 )
  • когда user1 введите group3.com , он не вошел в систему

Я использовал Django Каркас сайта для связи пользователя с доменами - c Хорошо работает ограничение на пользователя в указанных c доменах.

Кроме того, я использовал параметр SESSION_COOKIE_DOMAIN в settings.py для "общего доступа" cook ie между домены и, к сожалению, это работает только для поддоменов. Например, после установки:

SESSION_COOKIE_DOMAIN = '.group.com'

и после того, как я написал простое промежуточное программное обеспечение, я могу выполнить требования, которые я написал выше, но только для поддоменов, например ' one.group.com ',' two.group.com ',' three.group.com '.

Я искал решение для этого, но у меня нет не нашел ответа на новейшую Django 3.x платформу.

Есть ли способ справиться с этим, как я объяснил?

1 Ответ

0 голосов
/ 05 февраля 2020

Я думаю, что пакет "django -hosts " для вас.

Во-первых, вы должны дать разрешение некоторому домену.

ALLOWED_HOSTS = [example1.com,example2.com,example3.com]

И чем, вы можно использовать django -хосты

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'),
)

Вы можете увидеть больше информации -> https://github.com/jazzband/django-hosts

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...