如何从 Django 项目中的一个目录导入一些东西?

How to import something from one directory above in a Django project?

在我的 Django 项目中,我有拆分模型。项目目录有点像这样:

myproject/
    app1/
        validators.py
        views.py
        __init__.py
        models/
            __init__.py
            model1.py
            model2.py

当然,由于以下原因,模型可以正常工作:

#myproject/app1/models/__init__.py:
from .model1 import Model1
from .model2 import Model2

无论如何,在我的 model1.py 模块中,我想从 validators.py 模块导入一个验证器。但是正如您所看到的,它在上面的一个目录。我怎样才能做到这一点?最好,我想要一个适用于所有类型文件系统的解决方案。感谢您的任何回答。

你可以在这里使用两个连续的点,比如:

# myproject/app1/models/__init__.py

from .model1 import Model1
from .model2 import Model2
from <b>..</b>validators import SomeValidator

但也许在这里使用绝对导入会更好:

# myproject/app1/models/__init__.py

from .model1 import Model1
from .model2 import Model2
from <b>app1.</b>validators import SomeValidator