在我的Django应用中,我有一个模块下拉列表
dropdown
__init_.py
select.py
inline.py
在select.py中有一个课程
from inline import doauto
class AbstractOption(ABC):
def method1:
def method2:
class Select(AbstractOption):
def load_request:
def method_helper:
....
doauto()
....
在inline.py中,我有一个课程
class Inlineselect(AbstractOption):
def load_request:
def method_helper:
def doauto:
inl= Inlineselect()
inl.load_request()
我遇到以下错误:ImportError:无法导入名称 选择(/../../select.py)中的AbstractOption
我不明白为什么这个问题会出现。在inline.py中,我从select.py导入了AbstractOption类,当我在select模块类中从inline使用子类时,它给出了类导入错误。
答案 0 :(得分:0)
这称为循环导入问题。每当您从其他模块或软件包导入某些内容时,都需要先定义一些内容,然后才能导入。下面的代码应该可以解决问题。
from abc import ABC
class AbstractOption(ABC):
def method1:
pass
def method2:
pass
from inline import doauto
class Select(AbstractOption):
def load_request:
pass
def method_helper:
doauto()
from select import AbstractOption
class Inlineselect(AbstractOption):
def load_request:
pass
def method_helper:
pass
def doauto:
inl = Inlineselect()
inl.load_request()