2

私は次のセットアップがあるdjangoプロジェクトに取り組んでいます

project
    /products
        /product1
            /models.py
            /forms.py
        /productN
    /otherapps

#models.py
from .forms import foo
...

#forms.py
from .models import bar

循環インポートが表示されます。いろいろな組み合わせを試しましたが、うまくいきません。forms.py のコードを models.py に移動したくない

私はもう試した:

from products import *
from products.product1 import *
from products.product1.form import *

import products
import products.product1
import products.product1.form

いくつかの助けをいただければ幸いです。

4

1 に答える 1

1

models.py で、

from .forms import foo

実際にfooを使用する必要があるメソッド内に。これにより、models.py がインポートされるとすぐではなく、そのメソッドが呼び出されるまでインポートが停止します。これはベスト プラクティスではありません。多くの場所で foo を使用すると、維持するのが面倒になりますが、循環インポートは修正されるはずです。

于 2014-08-15T08:29:06.773 に答える