2015-11-25 58 views
1

我正在構建一個小圖書館軟件包,並在其中有幾個應用程序。有沒有一種方法可以添加主庫,而無需手動在INSTALLED_APPS中添加單個應用程序?如何擴展用戶設置文件?

讓說我的圖書館「foo_lib」,在有一些應用程序,app_bar1,app_bar2

現在,現在這是我對每一個項目做。

INSTALLED_APPS = (
    'foo_lib', 
    'foo_lib.apps.app_bar1', 
    'foo_lib.apps.app_bar2', 
) 

有沒有什麼辦法可以做以下代替?

INSTALLED_APPS = (
    'foo_lib',   # this will add app_bar1, and app_bar2 automatically 
) 

我試圖在package.settings文件中添加應用程序,但它似乎不起作用。

from django.conf import settings 
settings.INSTALLED_APPS += (
     'foo_lib.apps.app_bar1', 
     'foo_lib.apps.app_bar2', 
) 
+0

你試圖把這些代碼在'__init __。py'?那麼應用程序的順序呢?最後可能會發生添加。 –

+0

讓我試一試。 –

回答

0

您可能可以使用列表。

installed_apps = [] 
installed.append("some_app") 

或指定它的時候了

installed_apps = ["some_app" , "some_other_app"] 

或進行功能添加更多的應用程序,列出

installed_apps = ["first_app" , "second_app"] 

def addApp(content): 
    if type(content) == list: #expect a list or it will be errors 
     for i in content: 
      installed_apps.append(i) 
+0

添加到列表中不是問題,它只是在我添加它後不能被父項目識別。 –