“from.import”是什么意思? [重复]

问题描述 投票:0回答:3

我正在使用 Django 和 Python,但我不明白这一点:

from . import views

我想知道当我输入时我正在导入什么。

python python-3.x django
3个回答
2
投票

您可以使用 relativeabsolute 路径导入文件、模块和包。

看看这个项目:

-- 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。

1
投票

从同一目录导入, “..”表示从上级目录导入

1
投票

© www.soinside.com 2019 - 2024. All rights reserved.