【问题标题】:How to run multiple sites from one instance of Django?如何从一个 Django 实例运行多个站点?
【发布时间】:2020-06-10 20:18:47
【问题描述】:

我使用 Django 作为后端,使用 Nuxt 作为前端,使用 Postgres 作为数据库。我想为每个域有不同的表/数据库。

所有网站的 Django 代码和 Nuxt 代码都是相同的。

应用程序的设置方式,它需要不同的域拥有不同的数据库或至少不同的表。

目前,我想我需要为每个域创建一个单独的 Django/Nuxt 安装。但是我想知道是否有更好的方法?

【问题讨论】:

  • 创建单独的安装将是最安全、最可靠的选择

标签: django postgresql nuxt.js


【解决方案1】:

为每个域设置不同的代码库根本不是一个好主意。我有一个以这种方式设置的应用程序,很快我们就很难为所有不同的域维护相同的代码和数据库结构。几个域之后,就变得棘手了。

我建议开发一个基于 SAAS 的多租户应用程序,您可以在其中让多个租户运行相同的 Django/Nuxt 代码,但在 Postgres 中具有不同的模式,因此您的不同域的数据库将完全相互独立。我建议为此使用django tenant schemas。即使您需要一些时间来设置它,我也建议您这样做。将来会为您节省大量时间。

【讨论】:

  • 谢谢,我刚刚阅读了自述文件。我有几个问题: 1. 您可以使用多个域,例如 example.com 和 example2.com 吗? 2. 随着使用同一数据库的用户数量的增加,Postgres 的性能是否有所下降?
  • 我将它用于目前拥有近 10K 用户的应用程序。到目前为止,Postgres 的性能没有太大差异。默认情况下,租户模式适用于子域,但您可以覆盖 get_tenant 方法以根据需要使用它。
  • 自从你的回答以来,我已经阅读了更多关于它的内容,我同意这看起来是最好的解决方案。
  • 您能帮我设置一下吗?无论花费多少时间,我都会付钱给你。我已经设置了它的一部分,但是遇到了几个错误。我宁愿把它完成。我的电子邮件是 jordan@eperimarketing.com。如果您有兴趣,请给我发电子邮件。
猜你喜欢
  • 2012-05-18
  • 2016-10-13
  • 1970-01-01
  • 2012-11-09
  • 2011-12-18
  • 2013-05-22
  • 1970-01-01
  • 1970-01-01
  • 2017-06-15
相关资源
最近更新 更多