2017-01-31 27 views
2

我想從另一個Django應用程序中的一個Django應用程序導入一個類。無法將類從一個應用程序導入到另一個應用程序中django

mainProjectFolder 
|--__init__.py 
|--manage.py 
|--app1 
    |--__init__.py 
    |--class1.py 
|--app2 
    |--__init__.py 
    |--anotherClass.py 
|--mainProjectFolder 
    |--__init__.py 
    |--settings.py 
    ... 
app2.anotherClass.py

,我做的:

from mainProjectFolder.app1.class1 import Class1 

而且我得到以下錯誤:

ImportError: No module named 'mainProjectFolder.app1' 

我已經註冊了我的應用程序中INSTALLED_APPSsettings.py文件中。

請讓我知道,如果有什麼不清楚,我會編輯所需的。

回答

4

您不需要包含用於導入的項目名稱。 如果您將項目文件夾中的所有應用程序都放在同一級別中,那麼只需通過其應用程序調用這些文件即可。

只需使用:

from app1.class1 import Class1 

from app2.anotherClass import Class2 

以及有關錯誤:

'unresolved references app1' 

用你的項目文件夾中包含的應用程序作爲源根然後該應用程序將得到認可。

+0

這不是相對導入,我從'app2.anotherClass'導入'app1.class1' –

+0

@ParthapratimNeog只需使用我的解決方案。該名稱可能不是相對重要的,但解決方案是正確的。 –

+0

它實際上工作,但在PyCharm仍然和紅色下屬說'未解決的參考app1' –

相關問題