下面這個是我在項目下面建構的項目目錄結構,apps裡面是所有的應用
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuQzN3EzM5UTM00CO2IDN0YTNwADMxcDMxIDMy0yMwATM4MjMvw1NwEjMwIzLcNDMwEDOzIzLcd2bsJ2Lc12bj5ycn9Gbi52YuAjMwIzZtl2Lc9CX6MHc0RHaiojIsJye.png)
于是下面我追加了項目的導包路徑,友善導包
import os
import sys
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.insert(0, os.path.join(BASE_DIR, 'apps')) sys.path.insert(0, os.path.join(BASE_DIR, 'extra_apps'))
經過排查發現報這個錯誤的原因是因為我導包的時候代碼是這樣寫的:
from apps.users.models import BaseModel
from apps.courses.models import Course
于是我把apps去掉之後,就沒有報錯了:
from users.models import BaseModel
from courses.models import Course
總結:個人認為之是以會這麼報錯的原因是,我們添加了這兩個導包路徑之後。項目每次導包時都會從這些導包路徑,然後往下開始找,首先就是找這些導包路徑之下的apps檔案夾,沒有找到是以就開始報這樣的錯了。