英文:
Python and Django - Cannot Reach Module With Relative Import Statement (UPDATED)
问题
我有一个名为views.py的文件,它从同一文件夹中存储的另一个文件中导入一个类。另一个文件名为models.py,需要导入的类名为Docgen。
我使用以下代码进行导入。
from .models import Docgen
但我一直收到以下错误。
ImportError: attempted relative import with no known parent package
在我写下from .models import Docgen这一行时没有显示错误,但出于某种原因它仍然无法工作,我无法弄清楚原因。由于某种原因,导入语句无法定位到models.py文件。
当我尝试在这个项目中的其他应用程序的views.py中从.models导入模块时,我也会收到相同的错误。这可能是在设置中某些东西被不小心更改了吗?
英文:
I have a file called views.py that imports a class from another file stored in the same folder. The other file is called models.py and the needed class is called Docgen.
I'm using the following code to import.
from .models import Docgen
But I keep getting the following error.
ImportError: attempted relative import with no known parent package
No error is shown when I write the line from .models import Docgen but it still won't work for some reason I can't figure out. For some reason the import statement isn't able to locate the file models.py.
I get the same error whenever I try to import a module from .models into views.py in other apps in this project as well. Could it be something in settings that has gotten changed somehow?
答案1
得分: 1
你可以尝试导入与当前目录相同的文件:
from . import models
然后将你的 "Docgen" 引用更改为 "models.Docgen"。
英文:
You may try importing files present in the same directory as
from . import models
then change your "Docgen" references to "models.Docgen"
答案2
得分: 1
你试过这个吗:
from your_base_directory.docgen.models import Docgen
我还会检查一下是否意外地删除了任何 init.py 文件?
英文:
Have you tried this:
from your_base_directory.docgen.models import Docgen
I would also check if any init.py was maybe accidentally removed?
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论