我正在使用 Django 和 Python,但我不明白这一点:
from . import views
我想知道当我输入时我正在导入什么。
您可以使用 relative 或 absolute 路径导入文件、模块和包。
看看这个项目:
-- project_folder
--project_name
──settings.py
──init.py
──urls.py
──wsgi.py
--app1
──__init__.py
── models.py
── views.py
── admin.py
-- package1_folder
── hello_world.py
相对导入用于检索相对于您当前所在路径的资源。
因此,如果您当前正在
app1 -> views.py
中工作并且想要将 hello_world.py
导入到您的视图中,则可以使用 .
指定对当前正在处理的文件的相对导入。
因此要导入
hello_world.py
,我们可以使用 from .package1_folder import hello_world
。
如果您只是指定
from . import models
,您将从当前所在的文件夹(app1)导入 models.py 资源。
另一方面,“绝对导入”用于使用完整路径从项目中的任何位置导入资源。
例如,您可以在项目中的任何位置使用from app1.package1_folder import hello_world
您从调用 import 语句的 python 脚本的位置导入views.py。
从同一目录导入, “..”表示从上级目录导入