簡體   English   中英

Django無法在子目錄中導入文件

[英]Django Cannot Import File in Subdirectory

我幾乎可以肯定我缺少明顯的東西,但是進口已經困擾了我一段時間。

在較大的Django項目中,我具有以下應用程序結構:

\reporting\
\reporting\__init__.py
\reporting\<all other default django files>
\reporting\utils\__init__.py
\reporting\utils\base_file.py
\reporting\utils\appname_reporting.py

我正在嘗試將appname_reporting導入到\\reporting\\views.py

我曾嘗試import utils.appname_reportingfrom utils import appname_reporting ,並from .utils import appname_reporting 它們全都給我一個錯誤: ImportError: No module named 'appname_reporting'

沒有其他文件可以導入appname_reporting.py 並且appname_reporting.py導入base_file.py

更新

我在views.py導入了appname_reporting ,但是現在我在appname_reporting有一個損壞的導入, appname_reporting無法導入base_file 在這里,我只是import base_file ,它在我的測試中失敗了。 我也嘗試import .base_file ,但失敗。

您需要在/reporting PYTHONPATH環境變量中進行/reporting 檢查它是否包含在

import sys
for p in sys.path: 
    print p

之后,您可以使用相對導入:

appname_reporting.py:
from . import base_file

views.py
from .utils import appname_reporting

但是請注意循環導入(例如,如果要在__init__.py文件中導入某些內容)。

您可以使用詳細開關運行Python:

python -v views.py

查看正在導入的內容以及導入順序。 它會告訴您是否有循環導入。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM