2011-05-07 68 views
0

我有一组应用程序和多个数据库,这些应用程序和多个数据库仅在初始设置期间需要。我想根据需要切换,所以我在settings.py中设置了一个常量IMPORT_MODE。Django在settings.py中切换MultiDB和已安装的应用程序

为了使这项工作,我将INSTALLED_APPS从一个元组更改为一个列表。这样我可以根据需要添加我需要安装时所需的应用程序列表。这似乎没有任何问题,但我想这可以打开INSTALLED_APPS列表在运行时更改的可能性,因为它不再是元组。

这是一个有效的问题,还是应该写一个脚本来将我不需要的应用程序注释掉INSTALLED_APPS元组?

不过小,不得不检查我们是否在INSTALL_MODE或根本不影响性能?或者,Python是否会在制作pyc时基本消除该检查? (不知道最后一个问题对人们是否有意义。)

谢谢!

回答

0

它不应该没有。你可能想要考虑做这样的事情,这是我见过的(并且使用)的Django习惯用法。在另一个模块中定义备用设置(比如import_mode.py)并导入它们,覆盖默认设置,但只有当包含备用设置的模块可导入时才会覆盖默认设置。

try: 
    from import_mode import * 
except ImportError: 
    pass 
相关问题