我有一个遗留系统,我想用Django编写的应用程序进行扩展。该系统在同一台服务器上托管数百个小型网站。 Mysql服务器负责处理数据:每个网站都有自己的Mysql数据库(从主机名派生的名称),具有相同的表结构。所有站点(主机名和数据库名称)的列表都在一个单独数据库的表中进行管理。
我根本不需要Django用户/会话表,也不需要Django管理模块。
是否可以编写Django代码,以便:
Host
标题)settings.py
。当添加或重命名网站时,一切都“正常”(或者我可以发送信号重新加载网站列表)。答案 0 :(得分:1)
Django支持multi-db,这意味着,您可以在一个项目中使用多个DB。
另一方面,你的第二个需求可能无法以简单的方式实现。不知何故,您必须向settings.py
文件添加新的数据库描述。有一种可能的方法来解决这个问题,但在某些方面它并不是一个好的方法......
当您定义新网站时(从网页等UI界面),您可以编写一个脚本来打开settings.py
并将新的数据库信息添加到DATABASE模式并保存并重新加载您的设置。但正如我所说,以编程方式编写settings.py
是危险的。