Django es un framework que ahorra tu tiempo y hace del desarrollo Web una diversión.

Al comienzo de internet, los desabolladores Web escribían cada una de las páginas a mano. Actualizar un sitio significaba editar HTML; un “rediseño’’ implicaba rehacer cada una de las páginas, una a la vez.

Como los sitios Web crecieron y se hicieron más ambiciosos, rápidamente se hizo evidente que esta situación era tediosa, consumía tiempo y al final era insostenible. Un grupo de emprendedores del NCSA (Centro Nacional de Aplicaciones para Supercomputadoras, donde se desarrollo el Mosaic; el primer navegador Web gráfico) solucionó este problema permitiendo que el servidor Web invocara programas externos capaces de generar HTML dinámicamente. Ellos llamaron a este protocolo “Puerta de Enlace Común’’, o CGI, y esto cambió internet para siempre.

Ahora es difícil imaginar la revelación que CGI debe haber sido: en vez de tratar con páginas HTML como simples archivos del disco, CGI te permite pensar en páginas como recursos generados dinámicamente bajo demanda. El desarrollo de CGI hace pensar en la primera generación de página Web dinámicas.

Sin embargo, CGI tiene sus problemas: los scripts CGI necesitan contener gran cantidad de código repetitivo que los hace difícil de reutilizar, así como complicados de entender y escribir para los desarrolladores novatos.

PHP solucionó varios de estos problemas y tomó al mundo por sorpresa -ahora es, por lejos, la herramienta más popular usada para crear sitios Web dinámicos, y decenas de lenguajes y entornos similares (ASP, JSP, etc.) siguieron de cerca el diseño de PHP. La mayor innovación de PHP es que es fácil de usar: el código PHP es simple de embeber en un HTML plano; la curva de aprendizaje para algunos que recién conocen HTML es extremadamente llana.

Pero PHP tiene sus propios problemas; por su facilidad de uso, alienta a la producción de código mal hecho. Lo que es peor, PHP hace poco para proteger a los programadores en cuanto a vulnerabilidades de seguridad, por lo que muchos desarrolladores de PHP se encontraron con que tenían que aprender sobre seguridad cuando ya era demasiado tarde.

Estas y otras frustraciones similares, condujeron directamente al desarrollo de los actuales frameworks de desarrollo Web de “tercera generación’’. Estos frameworks Django y Ruby on Rails – parecen ser muy populares en estos días – reconocen que la importancia de la Web se ha intensificado en los últimos tiempos. Con esta nueva explosión del desarrollo Web comienza otro incremento en la ambición; se espera que los desarrolladores Web hagan más y más cada día.

Django fue desarrollado para satisfacer esas nuevas ambiciones. Django te permite construir en profundidad, de forma dinámica, sitios interesantes en un tiempo extremadamente corto. Django está diseñado para hacer foco en la diversión, en las partes interesantes de tu trabajo, al mismo tiempo que alivia el dolor de las partes repetitivas. Al hacerlo, proporciona abstracciones de alto nivel a patrones comunes del desarrollo Web, agrega atajos para tareas frecuentes de programación y claras convenciones sobre cómo resolver problemas. Al mismo tiempo, intenta mantenerse fuera de tu camino, dejando que trabajes fuera del alcance del framework cuando sea necesario. Escribimos este libro porque creemos firmemente que Django mejora el desarrollo Web. Está diseñado para poner rápidamente en movimiento tu propio proyecto de Django, en última instancia aprenderás todo lo que necesites saber para producir el diseño, desarrollo y despliegue de sitios satisfactorios y de los cuales te sientas orgulloso.

Estamos extremadamente interesados en la retroalimentación. La versión online de este libro te permite dejar un comentario en cualquier parte del libro y discutir con otros lectores. Hacemos cuanto podemos para leer todos los comentarios posteados allí y responder tantos como nos sea posible. Si prefieres utilizar correo electrónico, por favor envíanos unas líneas (en inglés) a [email protected]. De cualquier modo, ¡nos encantaría escucharte! Nos alegra que estés aquí, y esperamos que encuentres a Django tan emocionante, divertido y útil como nosotros.

Tabla de Contenido
Sobre los autores
Sobre el editor técnico
Sobre este libro
Sobre esta versión
Reconocimientos
Introducción
PARTE 1. Comenzando con lo básico
Capítulo 1. Introducción a Django
Capítulo 2. Empezando
Capítulo 3. Los principios de las páginas Web dinámicas
Capítulo 4. Plantillas
Capítulo 5. Modelos
Capítulo 6. El sitio de Administración Django
Capítulo 7. Formularios
PARTE 2. Nivel avanzado
Capítulo 8. Vistas avanzadas y URLconfs
Capítulo 9. Plantillas Avanzadas
Capítulo 10. Modelos Avanzados
Capítulo 11. Vistas Genéricas
Capítulo 12. Desplegar Django
PARTE 3. Baterías incluidas
Capítulo 13. Generación de contenido no HTML
Capítulo 14. Sesiones, usuario e inscripciones
Capítulo 15. Cache
Capítulo 16. django.contrib
Capítulo 17. Middleware
Capítulo 18. Integración con Base de datos y Aplicaciones.
Capítulo 19. Internacionalización
Capítulo 20. Seguridad
PARTE 4. Apéndices de referencia
Apéndice A. Referencia de la definición de modelos
Apéndice B. Referencia de la API de base de datos
Apéndice C. Referencia de las vistas genéricas
Apéndice D. Variables de configuración
Apéndice E. Etiquetas de plantilla y filtros predefinidos
Apéndice F. El utilitario django-admin
Apéndice G. Objetos Petición y Respuesta
Licencia
Fuente: Saul Garcia M., DJANGOBOOK