我是python的初学者,对模块的导入方式感到困惑。
我附上了一个屏幕截图,以使我的询问更加清楚。
我从djangoproject.com取得了以下代码:
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=100)
由于import语句指向名为“ models”的文件夹,这是否意味着“ models”文件夹中的每个模块都已导入到会话中?
如果是,models.Model是在其中一个模块中找到的类吗?如果是,那为什么我在任何文件中都找不到该类?我已经在所有文件中搜索了“类Model(”,但找不到它。
答案 0 :(得分:0)
在导入这样的模块时,如果module.__init__.py
为空,则不会导入任何内容。
如果您可以执行以下操作:
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=100)
那么这意味着CharField
是在__init__.py
中定义的,或者是以某种方式在module.__init__.py
中显式导入的。
因此,要回答您的问题,在致电from django.db import models
之后实际导入了什么,您需要检查module.__init__.py
您可以在此处找到更多信息:What is __init__.py for? 此处:https://docs.python.org/3/tutorial/modules.html