Python formset_工厂位于formsets.py中,那么为什么要从django.forms调用它呢?

Python formset_工厂位于formsets.py中,那么为什么要从django.forms调用它呢?,python,django,forms,Python,Django,Forms,当函数位于django/forms/formsets.py中时,为什么使用“from django.forms import formset_factory”导入“formset_factory”函数 您不需要从formset.py导入吗 常规的包通常实现为包含\uuuu init\uuuuuu.py文件的目录。导入常规包时,隐式执行此\uuuuu init\uuuuuu.py文件,并且它定义的对象绑定到包命名空间中的名称 如果您检查forms.\uuuu init\uuuuuuuuuupy源代

当函数位于
django/forms/formsets.py
中时,为什么使用
“from django.forms import formset_factory”
导入
“formset_factory”函数

您不需要从formset.py导入

常规的通常实现为包含
\uuuu init\uuuuuu.py
文件的目录。导入常规包时,隐式执行此
\uuuuu init\uuuuuu.py
文件,并且它定义的对象绑定到包命名空间中的名称

如果您检查
forms.\uuuu init\uuuuuuuuuupy
源代码,您会发现为了可读性和一致性,Django已经将
字段
小部件
表单集
全部导入
\uuu init\uuuuuuuuuuuuuupy
,以简化客户端代码编写,因此您不必编写
表单.fields.CharField
forms.widget.Input
等。这些模块级对象直接绑定到包名称空间并准备好使用

from django.core.exceptions import ValidationError  # NOQA
from django.forms.boundfield import *  # NOQA
from django.forms.fields import *  # NOQA
from django.forms.forms import *  # NOQA
from django.forms.formsets import *  # NOQA
from django.forms.models import *  # NOQA
from django.forms.widgets import *  # NOQA