django

Recursos de programación de django
Probablemente empezaste creando una aplicación de Django que podía presumir de "limpia". Tus modelos tienen un par de métodos añadidos, con lógica sencilla. Tus vistas hacen consultas simples y devuelven templates con un contexto razonable. Con el tiempo, los modelos empiezan a cambiar, necesitas hacer vistas que devuelven contextos con datos más complejos, aumenta la cantidad de métodos en los modelos, las vistas empiezan a implementar lógica y, ahora que lo piensas, puedes reutilizar esa función, así que la sacas a un módulo de utilidades, quizá lo decides bautizar como controlador. Después de todas esas fantásticas nuevas features que has conseguido implementar, tienes modelos de cientos de líneas, lógica desparramada en varios ¨controladores" que importas en tantos módulos que, cada vez que creas uno nuevo, optas por copiar y pegar los import de siempre. Ah, y cada vista tienen más lógica que tu trabajo fin de carrera. ¿En cual de los "controladores" estaba esa función que te da una lista de ids y nombres de usuarios con datos sobres sus vehículos y sus casas? ¿En el controlador de usuarios, el de vehículos, el de casas o el controlador de controladores? No te preocupes, hay varias soluciones. Nosotros te proponemos la que utilizamos en StyleSage, basada en una clara división de responsabilidades entre modelos, proxy models, managers y vistas. Verás como lo encuentras todo a la primera, ¡Y sin dependencias circulares! Presentación disponible en http://slides.com/hectorpablos/adelgazando-modelos-django http://2016.es.pycon.org/
Laura Lacarra se pone de nuevo delante de nuestro micrófono para hablarnos de su charla, first dates con django. Todos los videos de Codemotion 2016; https://www.youtube.com/playlist?list=PLKxa4AIfm4pUvMn4lZ8zin500bsp3oL2A Suscríbete a nuestra newsletter; bit.ly/newsletterautentia Facebook; https://www.facebook.com/Autentia-127966880558674/ Twitter; https://twitter.com/autentia
Charla sobre el desarrollo y la estructura que tiene que tener una aplicación de Django para que se pueda integrar en otros proyectos, así como distribuirla vía PyPI.
En este taller llevaremos a cabo un caso práctico. La construcción de una Single-Page Application usando Backbone como herramienta front-end. Ahora que cada día aparece una docena de frameworks de JavaScript, suena sensato buscar algo de estabilidad en un framework de trayectoria ya constatada, como es Backbone. Por otra parte, tener un framework como Django en el back-end proporciona robustez, facilidad de uso y muchísima extensibilidad -gracias al increíble ecosistema pythónico-.
Todos sabemos que cuando tenemos una aplicación hecha en Django ejecutándose en un servidor, y le llega una petición, tarde o temprano nuestro código se ejecutará y le devolveremos una respuesta al usuario, pero... ¿Qué ocurre antes y después de la ejecución de nuestro código?, ¿qué tareas hace Django por nosotros sin ni siquiera ser conscientes de ello?, ¿es posible modificar este comportamiento?, y lo más importante: ¿cómo?
La charla tendrá como objetivo introducir la criptografía y la seguridad desde el punto de vista del desarrollador, mostrando maneras de cifrar la información con scripts de Python y la información más sensible en aplicaciones web usando Django,comentando la principales vulnerabilidades que podemos encontrar en un sitio web(SQL injection,XSS, CSRF) y cómo Django nos puede ayudar a evitar ataques que se aprovechen de estas vulnerabilidades.
El objetivo de la charla es mostrar algunos de los sistemas ORM que podemos encontrar dentro del ecosistema de Python como Sqlalchemy, Storm, Sqlobject, Django ORM,realizando una comparativa entre ellos,mostrando ventajas y desventajas de cada uno. Algunas de las características a comparar son performance, eficiencia, tratamiento de caché, consultas. Por ultimo, se comentarán las ventajas que aportan estos sistemas para la seguridad de la aplicaciones web con Django.
En esta charla se presentará de manera resumida un caso real: el proceso de implantación de ElasticSearch en una aplicación de Django. Partiendo de la motivación de implementar un buscador, veremos los problemas encontrados por nuestro equipo (¡y sus soluciones!). A saber: instalación, definición de los documentos, modo de conexión, indexado, particionado y sincronía con nuestra base de datos.