Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 单个安装、多个域和应用程序?_Python_Django_Single Sign On - Fatal编程技术网

Python 单个安装、多个域和应用程序?

Python 单个安装、多个域和应用程序?,python,django,single-sign-on,Python,Django,Single Sign On,我计划将Django用于一个多站点项目,其中每个站点基本上是独立的,但会在所有站点上共享一些模型 我想知道是否有办法让每个Django“应用程序”都成为自己的站点,拥有唯一的域名,并且仍然允许每个站点访问包含一些用户帐户、配置文件等模型的通用应用程序 该计划是允许单个登录到每个站点,通过通用应用程序共享帐户信息,并在用户登录后为每个站点创建cookie 我知道Django有一个“站点”功能,但我不确定它是否足够健壮,满足我的需要 有人能推荐一种方法来做到这一点,或者给我指一些可能有用的文章吗 更

我计划将Django用于一个多站点项目,其中每个站点基本上是独立的,但会在所有站点上共享一些模型

我想知道是否有办法让每个Django“应用程序”都成为自己的站点,拥有唯一的域名,并且仍然允许每个站点访问包含一些用户帐户、配置文件等模型的通用应用程序

该计划是允许单个登录到每个站点,通过通用应用程序共享帐户信息,并在用户登录后为每个站点创建cookie

我知道Django有一个“站点”功能,但我不确定它是否足够健壮,满足我的需要

有人能推荐一种方法来做到这一点,或者给我指一些可能有用的文章吗

更新

只是想知道,通过apache,或者对url.py进行一些修改,是否可以将某个域指向url结构


例如,假设主站点是MistSist.com,并且我希望其他域中的一个指向MasiTe.COM/Sudio站点,其中二级站点是同一个实例中的Django应用程序,并且具有Apache掩码这一事实:SudialSITe.com域实际上指向了一个不同的位置。

您可以考虑。

RE。您的更新:您不需要像那样伪造URL结构,除非您还希望mainsite.com/secondarysite这样的URL可以直接供用户使用

我假设你正在使用。一种简单但非常灵活的方法是让每个指令通过通常的配置指令调用不同的wsgi脚本,然后每个wsgi脚本可以设置指向不同设置文件的
os.environ['DJANGO\u SETTINGS\u MODULE']

这些设置文件中的每一个都可以有不同的根目录,因此,如果需要,您可以在不同的路径上配置视图。利用
include
机制

如果希望两个域对所有内容使用相同的数据库,只需让两个设置文件从第三个文件加载数据库配置,例如settings_shared.py。或者,如果您希望将某些模型路由到共享数据库,而其他模型不路由到共享数据库。很容易想象如何为每个域配置:

from settings_shared import DATABASES_SHARED
DATABASES = DATABASES_SHARED.copy()
DATABASES.update({ ... })
这种方法负责为每个域配置URL和数据库。 但它不负责单点登录

对于SSO部分,它实际上取决于您想要什么样的用户体验以及您有多少时间;)

尝试搜索“django sso”。这里有很多相关的问题,例如: , ,