Un proyecto Django es un conjunto de configuraciones y aplicaciones que se colocan juntas para formar un sitio web completo. La arquitectura de Django sigue el patrón de diseño Modelo-Vista-Controlador (MVC) y consta de varias partes, como se describe a continuación:
1. Proyecto: Un proyecto Django es la colección de configuraciones y aplicaciones para un sitio web particular. El proyecto en sí no contiene ninguna funcionalidad pero contiene referencias a las aplicaciones que proporcionan esa funcionalidad.
2. Aplicaciones: Una aplicación Django es un módulo que proporciona alguna funcionalidad específica. Por ejemplo, puede tener una aplicación para manejar la autenticación de usuarios, otra para manejar la lógica de un carrito de compras y otra para mostrar productos.
3. Modelos: Los modelos son la representación de la estructura de la base de datos. Django utiliza un ORM (Object-Relational Mapper) para mapear los modelos a tablas de base de datos. Los modelos también contienen métodos que facilitan la interacción con la base de datos.
4. Vistas: Las vistas controlan lo que se muestra al usuario. Por lo general, utilizan modelos para recuperar datos y luego los pasan a una plantilla para su presentación.
5. Plantillas: Las plantillas representan la presentación de los datos. Django utiliza su propio lenguaje de plantillas para facilitar la presentación de los datos.
6. URLs: Django utiliza un despachador de URLs que mapea la URL solicitada a la vista correspondiente.
7. Configuraciones: Django ofrece una gran cantidad de opciones de configuración para personalizar su comportamiento. Estas configuraciones se almacenan en archivos de configuración, principalmente en settings.py en la carpeta raíz del proyecto.
La estructura básica de un proyecto de Django se vería así:
```
miProyecto/
manage.py
miProyecto/
init.py
settings.py
urls.py
wsgi.py
miApp/
init.py
admin.py
apps.py
migrations/
init.py
models.py
tests.py
views.py
```
En esta estructura, `manage.py` es un script de línea de comandos que ayuda con la administración del sitio. Cada archivo tiene su propio propósito y Django ofrece un tutorial detallado de todos los aspectos de su estructura en su documentación oficial.
Fuentes utilizadas:
- Documentación oficial de Django: https://docs.djangoproject.com/
- “Two Scoops of Django: Best Practices for Django 1.8” por Daniel y Audrey Roy Greenfeld
- “Django for Beginners” por William S. Vincent.