La estructura general de Django se basa en el Modelo Vista Controlador (MVC), pero dentro de Django se expresa como MTV.
MTV de Django
Model (modelo): Gestiona los datos en nuestra base de datos. Son los modelos de tablas de db. Se ocupa de obtener información.
Template (plantilla): Decide como se muestran los datos en el navegador. Nuestro HTML, un equivalente a la vista en MVC.
View (vista): Decide cuales datos va a mostrar el template. Se encarga de mostrar la información al usuario. Los datos con los que interactúa el usuario. Es el equivalente al controlador en MVC.
Sobre los archivos:
__init__.py — Un fichero vacío creado aquí para que Django/Python reconozca la carpeta como un Paquete Python y te permita usar sus objetos dentro de otras partes del proyecto.
settings.py contiene todos los ajustes del sitio. Es donde registramos todas las aplicaciones que creamos, la localización de nuestros ficheros estáticos, los detalles de configuración de la base de datos, etc.
urls.py define los mapeos url-vistas. A pesar de que éste podría contener todo el código del mapeo url, es más común delegar algo del mapeo a las propias aplicaciones, como verás más tarde.
wsgi.py se usa para ayudar a la aplicación Django a comunicarse con el servidor web. Puedes tratarlo como código base que puedes utilizar de plantilla.