I have the following structure for my project:
myproject/
|-- myproject/
| |-- __init__.py
| |-- settings.py
| |-- urls.py
| |-- wsgi.py
|-- apps/
| |-
From the top of my head I can advise a few things:
__init__.py
files if they are not empty you'll have
access to only whats imported in them.dashboard.models
you import from data.models
when it imports from dashboard.models
.from apps.data import models
or from apps.data.models import ModelName
seems the right way to go - knowing this look for solutions.from .data.models
is an import relative to the current directory where that file exists, e.g., it would be looking for a data
module directory inside your dashboard
directory. If you want to refer to the data
module relative to your dashboard
module you should be able to use
from ..data.models import Foo
Using absolute imports depends on your PYTHONPATH environment variable. You can play around with it by adjusting sys.path
in a Python REPL.