title: django automatically import module of a package,
body: <p>Python does not automatically import subpackages or modules. We have to do it explicitly,
  But why Django automatically import submodule of a package.</p>
  
  <pre><code>users/
      __init__.py (empty file)
      models.py
      views.py
  </code></pre>
  
  <p>in Django's Python manage.py shell:</p>
  
  <pre><code>    &gt;&gt;&gt;import users
      &gt;&gt;&gt;users.models.User     (will not throw AttributeError: 'module' object has no attribute)
  </code></pre>
  
  <p>But when not in Django:</p>
  
  <pre><code>package1/
      __init__.py (empty file)
      module1.py
      &gt;&gt;&gt;import package1
      &gt;&gt;&gt;package1.module1  
      AttributeError: 'module' object has no attribute 'module1'
  </code></pre>
  
  <p>Can anyone explain the differences?
  Thank You</p>