django api を使用して Web サイトを作成しています。問題は、奇妙なインポート エラーが発生することです。ファイル内に別のファイル内の別の関数を呼び出す関数があり、それが最初のファイル内の 3 番目の関数を呼び出します。
問題は、その 3 番目の機能の間です。インポートしようとすると、エラーが発生します
cannot import deletefromS3.
完全なスタック トレースを以下に示します。
2 つのモジュールのスニペットを次に示します。
topichandler.py:
from sdbhandler.mediahandler import deleteMediaParent
def deletefromS3(itemid,folder):
itemid=folder+itemid
bucket = connect_s3()
for key in bucket:
fname=key.split(".")[0]
if(fname==itemid):
bucket.delete_key(key)
return []
def deleteTopic(itemid,parentId='NULL'):
sdb=connect()
domain= sdb.get_domain(DOMAIN)
rootitem = domain.get_item(itemid)
if(parentId=='NULL'):
query= 'select * from ' + DOMAIN + ' where itemName()="'+itemid+'"'
rs = domain.select(query)
else:
rs = [rootitem]
for item in rs:
deleteMediaParent(item.name)
deletefromS3(item.name,'topicsK2/')
domain.delete_attributes(item.name)
deleteMediaParent(rootitem.name)
deletefromS3(rootitem.name,'topicsK2/')
domain.delete_attributes(rootitem.name)
mediahandler.py:
from sdbhandler.topichandler import deletefromS3
def deleteMediaParent(parentid):
sdb=connect()
domain = sdb.get_domain(DOMAIN)
query = 'select * from '+ DOMAIN + 'where ' +FIELD_TopicID + ' = "' + parentid + '"'
rs = domain.select(query)
for item in rs:
deleteQuestionParent(item.name)
deletefromS3(item.name,'mediaK2/')
domain.delete_attributes(item.name)
依存関係は他にもありますが、あまりにも多くのコード全体を投稿することはできません。メソッドが呼び出されたファイルからインポートできませんか?