如何将我自己的脚本导入django中的models.py



我创建了一个小脚本来比较两个图像的相似程度。这包含在一个名为compare_image.py的文件中,该文件只包含一个函数compare。此文件位于应用程序目录中。我试图使用行import compare_imagemodels.py文件导入它,但尝试这样做会导致错误消息ModuleNotFoundError: No module named 'compare_image'

简化的目录结构如下:

myproject
└── myapp
├── __init__.py
   ├── admin.py
   ├── apps.py
   ├── compare_image.py
   ├── forms.py
   ├── models.py
   ├── tests.py
   ├── urls.py
   └── views.py

myapp是该项目中唯一的应用程序。除此之外,网络应用程序的功能也很好。

我已尝试删除并重新使用touch__init__.py文件,但没有成功。我可以从myapp目录中的python shell导入compare_imagefine。compare_image.py中唯一的导入是到PIL或标准库,所以我不认为循环导入是罪魁祸首。

一种解决方案是将代码放在models.py中,但我不想把这个文件弄得一团糟。

我想,由于这个错误看起来很基本,Django中可能有一些用户编写脚本的标准机制,但我在网上找不到任何关于这一点的提及。

如果能让事情变得更清楚,我很乐意提供更多关于该项目的细节。提前感谢任何帮助(这个错误让我抓狂!)

我认为您正在进行一个绝对导入,其中需要一个相对导入。你能试试吗:

from .compare_image import compare

来自与compare_image.py位于同一文件夹中的python文件?

最新更新