Python "из [dot] импорта пакетов..."
Просматривая учебник Django, я увидел следующий синтаксис:
from .models import Recipe, Ingredient, Instruction
Может кто-нибудь объяснить, как работают .models/что он делает? Обычно у меня есть:
from myapp.models import
Как это работает без части myapp перед .models?
Ответы
Ответ 1
Возможный дубликат: Что делает. в выражении import в Python означает?
.
- это ярлык, который сообщает об этом в текущем пакете перед остальной частью PYTHONPATH
. Итак, если один и тот же модуль Recipe
существует где-то еще в вашем PYTHONPATH
, он не будет загружен.
Ответ 2
В дополнение к Sudeep Juvekar этот вопрос также связан с поведением manage.py
.
В django-admin.py и manage.py:
Он помещает ваш пакет проектов в sys.path
.