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

发布于 2024-08-27 01:06:01 字数 145 浏览 6 评论 0原文

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

I am creating multisites platform. Anybody can make simple site, with my platform. I plan to use django multidb support. One db for one site. And i need to change db settings depending on request.get_host().
I think that i's not good idea. Prompt other decisions? How it is realised on various designers of sites?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

丶视觉 2024-09-03 01:06:01

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

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

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

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

You might want to reconsider using a separate db for reach site. In reviewing the multi-db source, it looks like you'll run into a few scalability issues, depending on how many sites you want to support:

Currently all the databases are set up in settings.py. This could cause a few issues:

  • Each new site would require reloading Django.
  • settings.py could get large.

A better approach might to use a single DB and associate the site/account with each record as needed.

笑忘罢 2024-09-03 01:06:01

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

You can set up one site for each "site", with it's own settings file, listening to it's own socket, using the same codebase. I'm doing that and I can easily support more than 30 concurrent sites on a middle-size server. Maintainability of configurations and startup scripts is the only issue.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文