![](/img/trans.png)
[英]ValueError: attempted relative import beyond top-level package python
[英]Cannot Solve “ValueError: attempted relative import beyond top-level package”
我正在運行該項目,並顯示此錯誤。 我用谷歌搜索並嘗試了一些解決方案,但似乎沒有用。
File "/home/bs-094/Dev/backend/busgroup-backend/src/bus_portal_backend/apps/inquiry/forms/inquiry_details.py", line 2, in <module>
from ..models.inquiry import Inquiry
ValueError: attempted relative import beyond top-level package
我的文件夾結構是
busgroup-backend
src
bus_portal_backend
apps
inquiry
models
_init_.py
inquiry.py
forms
inquiry_details.py
任何人都可以幫助我解決問題,那將是很大的幫助。 我是django的新手。 謝謝
編輯 : 這是解決我的問題的方法 ,我必須以這種方式導入
from bus_portal_backend.apps.inquiry.models import Inquiry
另外,我正在運行調試器。 我的腳本路徑是busgroup-backend/src/manage.py
,我將其更改為/home/bs-094/Dev/backend/busgroup-backend/src/manage.py
,這使我成功運行了項目。
forms
似乎不包含__init__.py
文件,因此Python認為它不是一個包。 因此,嘗試從..models
導入就是嘗試將其提升到當前包的根目錄之上(因為...busgroup-backend/src/bus_portal_backend/apps/inquiry/forms/inquiry_details.py
實際上是一個獨立的模塊)。
相對導入僅在包中起作用。 因此,您還應該通過創建inquiry__init__.py
來制作inquiry
的forms
和models
子包。
如果您是from ..models.inquiry import Inquiry
則..
是指
busgroup-backend
src
bus_portal_backend
apps
它沒有__init__.py
,因此被python視為不打包。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.