我對這個問題非常滿意,希望能幫助解決這個問題。PyCharm無法使用Django項目應用程序解決__init__.py中的引用
我有一幫子應用程序作爲這樣一個Django項目:
my_project/
manage.py
my_project/
settings.py
urls.py
wsgi.py
app_root/
__init__.py
app1/
__init__.py
models.py
views.py
urls.py
templates/
[various templates].html
app2/
__init__.py
models.py
[etc]
app3/
[etc]
在我的Django settings.py
我已經安裝的應用程序這樣:
app_root.app1,
app_root.app2,
在PyCharm,我已經嘗試了各種各樣的東西,但基本上將Content Root作爲頂級「my_project /」和app_root,app1,app2等作爲源Roots。我試過只有app_root
作爲唯一的源代碼根目錄,並且我嘗試過只有app1
,app2
等僅作爲源代碼根目錄,但沒有任何區別。
一切正常。應用程序運行和一切。但是,PyCharm無法解析我的應用程序。
不過,如果我試試這個:
import app_root
...
def some_function(self):
app_root.app1.models.My_Model.objects.all()
它會突出APP1與錯誤「無法找到‘初始化的.py’參考‘APP1’」 這也意味着它不能做自動完成路徑中的任何地方app_root.app1.
- 儘管在每個目錄中都有(空)__init__.py
,但對模型,視圖等沒有任何意見。
我也不能使用任何重構,因爲它總是說「的功能是不是源根目錄下的」
我花了無數的時間試圖讓PyCharm的行爲,但根本無法找到一個方法來做到這一點。有什麼辦法可以做到這樣PyCharm將自動完成我的應用程序,而不是繼續給予檢查警告?
感謝您的評論。我有'app_root'和所有標識爲「源根」的應用程序,並且還選擇了「添加源根到PYTHONPATH」。我不覺得有什麼其他的方法可以將'app_root'添加到我的Python解釋器中(它似乎只允許在Python解釋器設置下安裝包) – IMFletcher
剛做了最新的PyCharm版本更新,顯然Interperter有一些變化。他們刪除了可能性,以添加一個路徑到你的interperter。 目前我只將'app_root'定義爲源文件夾,不知道這個解決方案。 – Blackeagle52