簡體   English   中英

Django從另一個包導入另一個文件

[英]Django importing another file from another package

我有以下文件夾結構

app/
app/helpers/
app/helpers/methodhelper.py
app/methods/
app/methods/method.py

我正在嘗試從methodhelper.py中的method.py導入一個函數
所以我嘗試了以下方法:

import app.helpers.methodhelper
OR
from app.helpers.methodhelper import function1
OR
import helpers.methodhelper

我得到:

"No module named app.helpers.methodhelper" 

需要注意的重要事項: helpers/__init__.py已經存在

這應該怎么做?

Django 項目的默認路徑在項目的根目錄中(manage.py 文件所在的目錄)。 您可以將其下方的子目錄添加到您的 PYTHONPATH(通過附加到 sys.path 很容易完成),或者您可以使用完整的模塊路徑導入該函數:

from projectname.app.helpers.methodhelper import function1

當我開始一個 Django 項目時,我總是添加

PROJECT_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))

到我的settings.py 此路徑類似於/home/kyle/django_project_name/ 里面直接是manage.py

從那里,也在我的settings.py ,我包括:

sys.path.append(os.path.join(PROJECT_ROOT, 'django_project_name'))

這使我的應用程序可以導入,而無需在模塊路徑中包含我的項目名稱。

您需要在settings.py文件中添加模塊

暫無
暫無

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

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