Python "from [dot]package import …" syntax

Question:

Looking through a Django tutorial I saw the following syntax:

from .models import Recipe, Ingredient, Instruction

Can someone explain how the .models works / what it does exactly? Usually I have:

from myapp.models import

How does it work without the myapp part in front of .models?

Asked By: wobbily_col

||

Answers:

Possible duplicate: What does a . in an import statement in Python mean?

The . is a shortcut that tells it to search in the current package before the rest of the PYTHONPATH. So, if a same-named module Recipe exists somewhere else in your PYTHONPATH, it won’t be loaded.

Answered By: Sudeep Juvekar

In addition of Sudeep Juvekar, this question is also related to manage.py‘s behavior.

In django-admin.py and manage.py:

It puts your project’s package on sys.path.

Answered By: Zulu
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.