2010-03-28 59 views
2

我正在创建多站点平台。任何人都可以通过我的平台制作简单的网站。我打算使用django multidb支持。一个网站一个分贝。我需要根据request.get_host()更改数据库设置。 我认为我不是个好主意。提示其他决定?它是如何在网站的各种设计师身上实现的?如何根据request.get_host()在django中更改db?

回答

1

您可能想重新考虑使用单独的数据库作为到达站点。在审查多DB源,它看起来像你会碰到一些可扩展性问题,这取决于你想要多少网站支持:

目前所有的数据库都设置在settings.py。这可能会导致一些问题:

  • 每个新站点都需要重新加载Django。
  • settings.py可能会变大。

更好的方法可能会使用单个数据库,并根据需要将该网站/帐户与每个记录相关联。

+0

我不知道会创建多少个网站。 – Alexandr 2010-03-29 18:18:34

+0

如果它很低,而且你正在手动完成,那么你可能会好起来;否则,我会使用不同的策略。 – 2010-03-29 18:48:22

0

您可以使用相同的代码库为每个“站点”设置一个站点,使用它自己的设置文件,监听它自己的套接字。我这样做,我可以在中型服务器上轻松支持30多个并发站点。配置和启动脚本的可维护性是唯一的问题。