Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.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 Django孤立子域_Python_Django_Web Applications_Subdomain - Fatal编程技术网

Python Django孤立子域

Python Django孤立子域,python,django,web-applications,subdomain,Python,Django,Web Applications,Subdomain,假设我们有一个名为Event的模型,带有一个slug名称。我希望配置我的Django应用程序,根据事件的不同,基本上将我的所有其他模型隔离到单独的应用程序中。例如: "http://annualmeetup.domain.com" # in the form of "http://{}.domain.com".format(e.name) 我如何创建完整的独立应用程序,使我的用户、会议和其他模型仅在给定子域的上下文中工作?我正在考虑为每个事件编写多个应用程序,并通过命令脚本复制相同的模型,但我

假设我们有一个名为
Event
的模型,带有一个slug
名称
。我希望配置我的Django应用程序,根据事件的不同,基本上将我的所有其他模型隔离到单独的应用程序中。例如:

"http://annualmeetup.domain.com" # in the form of "http://{}.domain.com".format(e.name)
我如何创建完整的独立应用程序,使我的用户、会议和其他模型仅在给定子域的上下文中工作?我正在考虑为每个事件编写多个应用程序,并通过命令脚本复制相同的模型,但我仍然不知道如何将应用程序指向子域。

一个选项是使用专门为此目的设计的:

Django目前没有提供简单的方法来支持使用同一项目实例的多个租户,即使只是数据不同。因为我们不希望您运行项目的多个副本,您将能够:

  • 在同一实例上运行的多个客户
  • 共享和租户特定数据
  • 租户视图路由(即子域映射)
这将导致每个租户都有单独的数据库模式(在您的情况下是事件),每个租户都有自己的独立模型。无需太多努力,您就可以动态创建租户(事件)——听起来您的用例需要这样做


注意:
租户模式
仅适用于Postgres。

您不必为每个事件编写单独的应用程序。如果每个事件共享相同的模式,那么您只需创建您的架构

这里是所有可用于此的软件包


我个人推荐django主机,但它没有提供良好的数据隔离功能。如果您已经有一个现有项目,并且只想引入多租户,那么这是很好的。但是,如果您刚刚开始项目,
django租赁
是一个很好的选择

你考虑过使用内置的@HåkenLid吗?我以前没见过。你能举个例子吗?我在这方面没有太多经验。@MalikBrahimi,sqlite有替代品吗?你为什么要使用sqlite?它实际上不是生产环境的后端。