私信  •  关注

MrBrN197

MrBrN197 最近创建的主题
MrBrN197 最近回复了
6 年前
回复了 MrBrN197 创建的主题 » 为什么从django导入*不能导入所有子模块?

你说得对,这就是你所做的;你已经导入了django中的所有模块,但是apps是django中的一个文件夹,它是另一个你必须显式导入该包的包

6 年前
回复了 MrBrN197 创建的主题 » 为什么从django导入*不能导入所有子模块?

星号(*)在from modue_name import*中用作通配符,它表示导入模块名称中的所有子模块。

某种程度上。

模块

from <module_name> import * . 如果我们讨论的是一个模块(一个类似于 tools.py ). 这种模块没有子模块,所以说

意思是导入模块名中的所有子模块。

包裹

__init__.py 文件,所以它是一个包。在这种情况下打电话 from <package_name> import * __初始年 包的文件,但默认情况下不会导入包中的其他子模块 除非 你定义了 __all__

# __init__.py
__all__ = ['apps']

包还可以显式地导入 __初始年 这使得子模块在使用 从<包名称>导入*

# __init__.py
import django.apps

这也是供应商的工作。

解决方案

from django.apps import <what_you_need>

干净多了