如何根据 request.get_host() 更改 django 中的数据库?
我正在创建多站点平台。任何人都可以使用我的平台制作简单的网站。我计划使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可能需要重新考虑使用单独的数据库来访问站点。在查看多数据库源时,您似乎会遇到一些可扩展性问题,具体取决于您想要支持的站点数量:
当前所有数据库都在 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:
A better approach might to use a single DB and associate the site/account with each record as needed.
您可以为每个“站点”设置一个站点,使用它自己的设置文件,监听它自己的套接字,使用相同的代码库。我正在这样做,我可以轻松地在中型服务器上支持 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.