source y multiplataforma y lenguaje de programación multiparadigma • El Zen de Python son los principios de la programación en Python • No necesitamos compilar los programas • Para usar el intérprete escribimos $ python (en la terminal) y aparece un promt >>> para introducir comandos • Los archivos python tienen una extensión .py • Para ejecutar los scripts se hace $ python mi_script.py • Al ejecutar los scripts se traducen a código máquina intermedio generando archivos .pyc o .pyo GDGGranada import this
◦ Los desarrolladores deben de ir al mismo ritmo que los periodistas • Código “mantenible” por pocos desarrolles ◦ Lenguaje dinámico ◦ Código reusable en varios sitios GDGGranada
Desarrollo rápido y limpio • Mapea objetos python con la base de datos (ORM) • Servidor local de desarrollo • Permite diseñar URLs elegantes • Sistema de plantillas sencillo para diseñadores • Puede gestionar formularios, sesiones de usuarios, sitemaps, autenticación, caché, internalización, etc. GDGGranada
proyecto • Un proyecto consta de una o varias aplicaciones • Cada aplicación hace algo en concreto • Proyecto: “comunidad web” aplicaciones: blog, foro, registro de usuarios, tienda online, etc • Una aplicación puede ser utilizada por distintos proyectos a la vez • Un proyecto puede hacer funcionar varios sitios web GDGGranada
• Nos permite consultar la base de datos de forma sencilla a través de nuestros modelos en Python • Es sencillo y potente • Permite ejecutar código SQL directamente para operaciones especialmente complejas • Django permite utilizar otro ORM distinto como SQLAlchemy GDGGranada
Python (notación similar a los Models) • Formularios generados dinámicamente a partir de nuestros modelos • Validación en función del tipo de dato • Protección contra CSRF automática (Cross-site request forgery) • Se pueden crear form wizards, formularios por pasos • Se utilizan widgets para representar campos: input, textarea, etc. o widgets complejo con HTML y JavaScript GDGGranada
etc. • Autenticación y sesiones de usuario • Internalización y localización • Sistemas de caché (memcache, etc.) • Generación de sitemaps • Generación de feeds • JSON files GDGGranada