如何根据request.get_host()更改django中的db?

时间:2010-03-28 08:05:18

标签: python django django-middleware django-orm

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

2 个答案:

答案 0 :(得分:1)

您可能需要重新考虑使用单独的数据库来访问网站。在查看多数据库源时,您可能会遇到一些可伸缩性问题,具体取决于您希望支持的站点数量:

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

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

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

答案 1 :(得分:0)

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