Django Caso de Uso Real en la UNL

1,021 views
907 views

Published on

Conferencia sobre el desarrollo del nuevo Sistema de Evaluacion Docente de la UNL con el framework Django. En el evento ATICA 2012

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,021
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Django Caso de Uso Real en la UNL

  1. 1. Desarrollo deAplicaciones CRUD conDjango: Caso Practico SEDD-UNL Milton Labanda ATICA - Summit 2012
  2. 2. Agenda• Antecedentes• Qué es Python? Qué es Django?• Arquitectura de despliegue• Desarrollo del frontend basado en MTV• Desarrollo del backend (CRUD)• Extensiones Django• Conclusiones
  3. 3. Antecedentes• Sistema de Evaluación del Desempeño de los Docentes (SEDD): Encuestas a Docentes, Estudiantes, Directivos para Evaluar y tomar decisiones• SEDD 2008 - 2011: PHP puro y MySQL• SEDD 2012: Muy difícil el Soporte ...• Opciones para el nuevo SEDD: o PHP puro o Symphony o LimeSurvey ... o Django + Postgres (Seleccionada)
  4. 4. Qué es Python?• Multiparadigma: OO, estructurado, funcional• Interpretado• Simple pero potente: metaclases, multiherencia, introspección, ...• Estructuras de datos poderosas: tuplas, listas, conjuntos, diccionarios (mapas)• Sobretodo divertido :)• Tiene comunidad !!!. Ej. python-ecuador
  5. 5. Que es Django• Software Libre 100 %• Marco de herramientas para desarrollar aplicaciones web en python• Sigue el patrón de diseño MVT =~ MVC• Muchas aplicaciones "enchufables" (extensiones / plugins): autenticación, migraciones, registros, ejecución de tareas (cronograph, celery), graficador de modelos ...
  6. 6. Arquitectura SEDD
  7. 7. MVT: Los modelos
  8. 8. MVT: Los modelos
  9. 9. MVT: Las rutas o urlsArchivo urls.py
  10. 10. MVT: Las vistas (controladores)Ej. Autenticación
  11. 11. MVT: Las vistas (controladores)Ej. Autenticación
  12. 12. MVT: Las vistas (controladores)Ej. Autenticación
  13. 13. MVT: Las plantillas (GUI)Ej: login.html
  14. 14. MVT: Las Plantillas (GUI)Ej: login.html
  15. 15. MVT: Las Plantillas (GUI)Ej: login.html
  16. 16. Frontend de la aplicaciónCaso de Uso http://goo.gl/3wZw2
  17. 17. Django admin: ConfiguracionArchivo settings.pyArchivo urls.py
  18. 18. Django admin: modelos CRUDEj. Cuestionario
  19. 19. Backend de la aplicación http://goo.gl/kMavx
  20. 20. Extensiones Django: BackendsEj: Autenticador WebService SGA
  21. 21. Extensiones Django: TareasEj: reporteencuestados
  22. 22. Extensiones Django: cronograph
  23. 23. Conclusiones• Joya muy preciada: la aplicación admin• Aplicación de Autenticación• Muchas herramientas para el desarrollador python manage.py <<comando>>: orunserver, shell, sql,dbshell o dumpdata : JSON, XML, YAML o loaddata: JSON, XML, YAML o inspectdb: Genera modelos desde BD existente o muchos mas ...• Muchas posibilidades de personalización
  24. 24. Conclusiones• Evitar hacer lo que ya está hecho• Modelamiento de aspectos avanzados de POO deficiente en ocasiones. Ej clases abstractas• ORM de Django: Pocas estrategias para modelar herencias• ORM de Django: En consultas complejas se tiene que recurrir a SQL puro
  25. 25. 1000ton.lab@gmail.com miltonlab@unl.edu.ec @miltonlabGracias :)

×