簡體   English   中英

多個域的一個 Django 應用實例

[英]One Django app instance for multiple domains

我嘗試創建一個 Django 應用程序,該應用程序適用於具有單個應用程序實例的多個域。

例如:

  • 共有三個域: group1.com、group2.com、group3.com
  • 登錄后每個域都有可用的受限內容
  • user1 與group1.comgroup2.com相關聯
  • 用戶 1登錄group1.com並嘗試進入group2.com 時,他將自動登錄到group2.com
  • 有一個 URL,例如DOMAIN_NAME/posts/ ,它將顯示從與該用戶關聯的所有域登錄的用戶的所有內容(在這種情況下,對於user1 ,應該有來自group1.comgroup2 的所有“帖子” 。 com )
  • user1進入group3.com 時,他沒有登錄

我使用 Django 站點框架將用戶與域相關聯 - 特定域中用戶的內容限制工作正常。

此外,我在settings.py 中使用SESSION_COOKIE_DOMAIN參數在域之間“共享”cookie,不幸的是,它僅適用於子域。 例如,設置后:

SESSION_COOKIE_DOMAIN = '.group.com'

在我編寫了簡單的中間件之后,我能夠滿足我上面寫的要求,但僅適用於子域,例如“ one.group.com ”、“ two.group.com ”、“ three.group.com ”。

我一直在尋找解決方案來解決這個問題,但我還沒有找到最新的 Django 3.x 框架的答案。

有沒有辦法像我解釋的那樣處理?

我認為“ django-hosts ”包適合您。

首先,您應該授予某個域的權限。

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

而且,您可以使用django-hosts

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM