title: Import app in django project
body: <p>I had a problem with an import of an app in another app in my django project.
  I know there are severals question/asnwsers on this subject, and believe me I read a lot of them, even some about python import.</p>
  
  <p>Here is my project tree (i'll put real folders name):</p>
  
  <pre><code>was/ # full path from my computer /home/user/project/was
  ....was/ #django project created by django-admin startproject 'was'
      ....manage.py
      ....artists/ #first app
          ....migrations/
          ....templates/
          ....__init__.py 
          ....other_python_files.py
      ....crew/ #second app    
          ....migrations/
          ....templates/
          ....__init__.py
          ....some_files.py
      ....was/ # folder containing settings.py, main urls.py
          ....__init__.py
  </code></pre>
  
  <p>My first was project (/home/user/project/was) contains the virtualenv generates folders (python3.4).</p>
  
  <p>I checked on my python path <code>sys.path</code> and my project structure in Pycharm and there is /home/user/project/was.</p>
  
  <p>When I do this in PyCharm, I have the autocompletion working fine :</p>
  
  <pre><code>from ..crew.models import MyClass #here i'm in a artists app file
  </code></pre>
  
  <p>But I get an <code>ValueError :attempted relative import beyond top-level package when import app</code></p>
  
  <p>And now, same scenario, importing a crew class in artists app but :</p>
  
  <pre><code>from was.crew.models import MyClass
  </code></pre>
  
  <p>Autocompletion works fine in pycharm but this time I got the classic ImportError : <code>no name was.crew</code>.</p>
  
  <p>I find a solution doing it by adding this line in my settings.py :</p>
  
  <pre><code>BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
  sys.path.insert(0, os.path.join(BASE_DIR)) # add this line
  </code></pre>
  
  <p>Note that <code>BASE_DIR</code> already exist in settings.
  And now I can do this :</p>
  
  <pre><code>from crew.models import MyClass
  </code></pre>
  
  <p>And here I got no error (change some settings in Pycharm to have the autocompletion works).</p>
  
  <p>This works, but I really wonder why I have to add this line and why my two first attempt don't work.</p>
  
  <p>I'm a bit lost with package, pythonpath etc (that's why I specified in my schema all <code>__init__.py</code> files).</p>
  
  <p>Shouldn't <code>from ..anotherapp.models import Class</code> works fine without pimping anything in settings.py ?</p>
  
  <p>Whatever, should I keep my solution or is it not a good thing? </p>
  
  <p>Thanks in advance for any response.</p>
  
  <p>PS : note that I already try to had <code>__init__.py</code> files in my first and second was folder, without success.</p>