python - django 子应用程序中的循环导入

标签 python django cyclic-reference

我正在做一个 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

一些帮助将不胜感激。

最佳答案

在 models.py 中移动你的

from .forms import foo

到真正需要使用foo的方法里面。这将在调用该方法之前停止导入,而不是在导入 models.py 后立即停止导入。这不是最佳实践,如果您在很多地方使用 foo,那么维护起来会很痛苦,但它应该可以修复循环导入。

关于python - django 子应用程序中的循环导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25322372/

相关文章:

python - 在 python 中使用二进制字符串时, '^' 运算符的等效项是什么?

Python CSV逐行读取并插入新数据

python - 如何在 Ubuntu 14.04 安装后运行 Django

python - 删除前编辑记录。 Django 删除 View

c++ - shared_ptr 和循环引用

python - 如何在Python3中同时进行并行输入和输出?

php - 通过 python 或 php 从 gmail 中获取附件

django - Amazon Elastic Beanstalk不提供Django静态文件

循环依赖 - 结构和函数指针相互引用

java - 解决jaxb中的循环引用