Python 如何从Django BASE_DIR外部导入模型

Python 如何从Django BASE_DIR外部导入模型,python,django,python-import,Python,Django,Python Import,我正在开发一个Django应用程序,其中我想将generator.py中的一些类/函数导入到my views.py中,以处理用户提交的输入。我的文件夹结构如下所示: project/ models/ __init__.py generator.py web/ django/ __init__.py settings.py urls.py wsgi.py django

我正在开发一个Django应用程序,其中我想将generator.py中的一些类/函数导入到my views.py中,以处理用户提交的输入。我的文件夹结构如下所示:

project/
   models/
      __init__.py
      generator.py
   web/
      django/
         __init__.py
         settings.py
         urls.py
         wsgi.py
      django_app
         __init__.py
         views.py
         etc.
Inside views.py,我有

from ...models.generator import Generator
当我尝试运行服务器时,得到的结果是:

ValueError: attempted relative import beyond top-level package
我已经看到了很多答案,但大多数都是关于操纵sys.path或更改PYTHONPATH的。我不知道该怎么做,去哪里做,因为我对Django还是个新手


有人能确切地告诉我要运行哪些命令才能完成导入吗?

python的导入基于
sys.path
,不能在顶级目录之外

这意味着,如果在
sys.path
中附加
BASE\u DIR
路径的顶部,则可以导入。但这是一个棘手的方法

def import_function():
    import sys
    sys.path.append(os.path.dirname(BASE_DIR))
    module = __import__('models.generator')  # import code
    sys.path.pop()
    return module

g_module = import_function()
g_module.Generator

python的导入基于
sys.path
,不能在顶级目录之外

这意味着,如果在
sys.path
中附加
BASE\u DIR
路径的顶部,则可以导入。但这是一个棘手的方法

def import_function():
    import sys
    sys.path.append(os.path.dirname(BASE_DIR))
    module = __import__('models.generator')  # import code
    sys.path.pop()
    return module

g_module = import_function()
g_module.Generator

您是否尝试过从project.models.generator导入生成器<代码>是它说ModuleNotFoundError:没有名为“project”的模块您是否尝试过从project.models.generator导入生成器<代码>是它说ModuleNotFoundError:没有名为“project”的模块