Django中.models的含义是什么?导入时为何要使用点号?
关于Django导入语句中
.的含义解释 那个.是相对导入的标识,作用是指定从当前文件所在的同一目录下导入模块。
你的admin.py和models.py肯定是在同一个Django应用目录下,结构大概是这样:
你的项目名/ 你的应用名/ admin.py models.py ...
from .models import Questions这句话就是告诉Python:去和当前admin.py在同一目录的models.py文件里,导入Questions类。
你试的另外两种写法失败原因如下:
from models import Questions:这属于绝对导入,Python会去系统默认的模块搜索路径(比如第三方包目录)里找名为models的模块,而不是你自己应用里的这个models.py,自然找不到。from Model.models import Questions:要么是你把应用名称写错了(比如应该是小写的model?),要么是路径层级不对,Python识别不到这个嵌套的模块结构,所以导入失败。
要是还不确定目录结构,你可以在admin.py里加几行代码打印当前文件路径,验证一下:
import os print(os.path.dirname(os.path.abspath(__file__)))
运行后会输出admin.py所在的目录,你就能确认models.py是不是在这个目录里了。
内容的提问来源于stack exchange,提问作者Anonymous
相关产品推荐
相关产品推荐

