SlideShare uma empresa Scribd logo
1 de 7
Baixar para ler offline
DJANGO AVANZADO
Día 3
RECAPITULEMOS
• Vimos los middlewares	

• Creamos un middleware para contar las visitas a
cada post	

• Vimos factory_boy para crear tests
HOYVEREMOS
• Custom authentication backend	

• Custom user model	

• Señales
DÍA 3:AUTHENTICATION
BACKEND
• Sirven para autenticar (y autorizar) usuarios	

• Puede haber más de uno	

• https://docs.djangoproject.com/en/1.6/topics/auth/
customizing/#other-authentication-sources	

• EJERCICIO: Crear un authentication backend, que entre con
el usuario “admin” si se entra con un usuario
“hardcodeado”.
DÍA 3: CUSTOM USER MODEL
• Se puede extender el modelo de usuarios (OneToOne)	

• Se puede crear un modelo de usuarios completamente desde 0
(AbstractBaseUser)	

• Se puede crear un modelo de usuarios, partiendo del
django.contrib.auth.models.User (AbstractUser)	

• Ejercicio: Crea un modelo de usuarios que contenga, la fecha de nacimiento y
la altura del usuario
• Ejercicio: Crea un authentication backend que solo permita validarse a las
personas nacidas antes del 01/01/1990
DÍA 3: SEÑALES
• Implementan el patrón “observer” (AKA PUB/SUB)	

• https://docs.djangoproject.com/en/1.6/topics/signals/	

• https://docs.djangoproject.com/en/1.6/ref/signals/	

• http://www.shutupandship.com/2012/04/django-signals-and-observer-design.html	

• OJO: Las señales son SíNCRONAS
• EJERCICIO: Crear una señal que cuando se cree o modifique un post, cree la entrada en la tabla
de Visits e incremente el valor del contador en 1.
• EJERCICIO: Crear una clase “perfil” con un OneToOne a nuestro modelo de usuario y que incluya
las preferencias culinarias de cada usuario. El perfil se debe crear cuando se crea el usuario y
debe mostrar que le gusta la comida italiana (a todo el mundo le gusta).
DÍA 3: FIN
• Mañana hablaremos sobre:	

• Comandos de gestión personalizados	

• Multiples bases de datos

Mais conteúdo relacionado

Mais procurados (17)

Wike blog y zoho
Wike blog y zohoWike blog y zoho
Wike blog y zoho
 
Blogs y wikis 2
Blogs y wikis 2Blogs y wikis 2
Blogs y wikis 2
 
Dn11 u3 a4_ccl
Dn11 u3 a4_cclDn11 u3 a4_ccl
Dn11 u3 a4_ccl
 
Blogs
BlogsBlogs
Blogs
 
Herramientasweb2.0
Herramientasweb2.0Herramientasweb2.0
Herramientasweb2.0
 
Wikis.
Wikis.Wikis.
Wikis.
 
Tipos de blogs
Tipos de blogsTipos de blogs
Tipos de blogs
 
Informatica dever
Informatica deverInformatica dever
Informatica dever
 
Blog
Blog Blog
Blog
 
Wordpress
WordpressWordpress
Wordpress
 
Java script
Java scriptJava script
Java script
 
Wikis
WikisWikis
Wikis
 
Msdn Te Invita A Ser Parte De UXity
Msdn Te Invita A Ser Parte De UXityMsdn Te Invita A Ser Parte De UXity
Msdn Te Invita A Ser Parte De UXity
 
Los CMS Jomla-Moodle
Los CMS Jomla-MoodleLos CMS Jomla-Moodle
Los CMS Jomla-Moodle
 
Trabajo de investigación computacion
Trabajo de investigación computacionTrabajo de investigación computacion
Trabajo de investigación computacion
 
Taller de Backbone.js en Betabeers Malaga 06/09/2012
Taller de Backbone.js en Betabeers Malaga 06/09/2012Taller de Backbone.js en Betabeers Malaga 06/09/2012
Taller de Backbone.js en Betabeers Malaga 06/09/2012
 
Diferencias entre blogs y wikis
Diferencias entre blogs      y wikisDiferencias entre blogs      y wikis
Diferencias entre blogs y wikis
 

Destaque

Taller de introducción al desarrollo web con Django
Taller de introducción al desarrollo web con DjangoTaller de introducción al desarrollo web con Django
Taller de introducción al desarrollo web con DjangoJuan Rodríguez
 
Django - Plataforma de sitios web
Django - Plataforma de sitios webDjango - Plataforma de sitios web
Django - Plataforma de sitios webjcarazo
 
Desarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademyDesarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademyJorge Antonio Linares Vera
 
Tienda virtual php_mysql
Tienda virtual php_mysqlTienda virtual php_mysql
Tienda virtual php_mysqljubacalo
 
00 introducción a Python
00 introducción a Python00 introducción a Python
00 introducción a PythonJuan Rodríguez
 
Curso de Magento 1.9: Unidad Didáctica 08 Estructura de un Tema
Curso de Magento 1.9: Unidad Didáctica 08 Estructura de un TemaCurso de Magento 1.9: Unidad Didáctica 08 Estructura de un Tema
Curso de Magento 1.9: Unidad Didáctica 08 Estructura de un TemaDavid Vaquero
 
Desarrollo de aplicaciones web con PHP y symfony
Desarrollo de aplicaciones web con PHP y symfonyDesarrollo de aplicaciones web con PHP y symfony
Desarrollo de aplicaciones web con PHP y symfonyJuan Eladio Sánchez Rosas
 

Destaque (9)

Presentación appy/pod
Presentación appy/podPresentación appy/pod
Presentación appy/pod
 
Taller de introducción al desarrollo web con Django
Taller de introducción al desarrollo web con DjangoTaller de introducción al desarrollo web con Django
Taller de introducción al desarrollo web con Django
 
Django - Plataforma de sitios web
Django - Plataforma de sitios webDjango - Plataforma de sitios web
Django - Plataforma de sitios web
 
Desarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademyDesarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademy
 
Tienda virtual php_mysql
Tienda virtual php_mysqlTienda virtual php_mysql
Tienda virtual php_mysql
 
00 introducción a Python
00 introducción a Python00 introducción a Python
00 introducción a Python
 
Curso de Magento 1.9: Unidad Didáctica 08 Estructura de un Tema
Curso de Magento 1.9: Unidad Didáctica 08 Estructura de un TemaCurso de Magento 1.9: Unidad Didáctica 08 Estructura de un Tema
Curso de Magento 1.9: Unidad Didáctica 08 Estructura de un Tema
 
Desarrollo de aplicaciones web con PHP y symfony
Desarrollo de aplicaciones web con PHP y symfonyDesarrollo de aplicaciones web con PHP y symfony
Desarrollo de aplicaciones web con PHP y symfony
 
CRUD básico con Symfony
CRUD básico con SymfonyCRUD básico con Symfony
CRUD básico con Symfony
 

Semelhante a Django Avanzado: Dia3

AWS Summits América Latina 2015-Mejores Prácticas de Seguridad para IAM (Iden...
AWS Summits América Latina 2015-Mejores Prácticas de Seguridad para IAM (Iden...AWS Summits América Latina 2015-Mejores Prácticas de Seguridad para IAM (Iden...
AWS Summits América Latina 2015-Mejores Prácticas de Seguridad para IAM (Iden...Amazon Web Services LATAM
 
Taller de Django betabeers
Taller de Django betabeersTaller de Django betabeers
Taller de Django betabeersbetabeers
 
Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)
Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)
Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)Alejandro Ramos
 
Taller oracle ccfcffcfcfcfcfcffc
Taller oracle ccfcffcfcfcfcfcffcTaller oracle ccfcffcfcfcfcfcffc
Taller oracle ccfcffcfcfcfcfcffcjinkalel kalel
 
Taller oracle seguridad backup recovery 22092008
Taller oracle seguridad backup recovery 22092008Taller oracle seguridad backup recovery 22092008
Taller oracle seguridad backup recovery 22092008wilder sanchez
 
Desarrollo de webextensions
Desarrollo de webextensionsDesarrollo de webextensions
Desarrollo de webextensionsGabriela Bosetti
 
1.1.1.8 lab researching network collaboration tools
1.1.1.8 lab   researching network collaboration tools1.1.1.8 lab   researching network collaboration tools
1.1.1.8 lab researching network collaboration tools15440582
 
Sesionmoodle 101223143117-phpapp02
Sesionmoodle 101223143117-phpapp02Sesionmoodle 101223143117-phpapp02
Sesionmoodle 101223143117-phpapp02Kimiemi VJ
 
Sesion moodle - "más allá de lo básico"...
Sesion moodle - "más allá de lo básico"...Sesion moodle - "más allá de lo básico"...
Sesion moodle - "más allá de lo básico"...Valeria Pleszowski
 
Seguridad en access
Seguridad en accessSeguridad en access
Seguridad en accessssuser3a82fb
 

Semelhante a Django Avanzado: Dia3 (20)

AWS Summits América Latina 2015-Mejores Prácticas de Seguridad para IAM (Iden...
AWS Summits América Latina 2015-Mejores Prácticas de Seguridad para IAM (Iden...AWS Summits América Latina 2015-Mejores Prácticas de Seguridad para IAM (Iden...
AWS Summits América Latina 2015-Mejores Prácticas de Seguridad para IAM (Iden...
 
Taller de Django betabeers
Taller de Django betabeersTaller de Django betabeers
Taller de Django betabeers
 
Creacion de usuarios de red
Creacion de usuarios de redCreacion de usuarios de red
Creacion de usuarios de red
 
Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)
Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)
Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)
 
Taller oracle ccfcffcfcfcfcfcffc
Taller oracle ccfcffcfcfcfcfcffcTaller oracle ccfcffcfcfcfcfcffc
Taller oracle ccfcffcfcfcfcfcffc
 
Taller oracle seguridad backup recovery 22092008
Taller oracle seguridad backup recovery 22092008Taller oracle seguridad backup recovery 22092008
Taller oracle seguridad backup recovery 22092008
 
Introducción a Django
Introducción a DjangoIntroducción a Django
Introducción a Django
 
Diapositiva de chivis
Diapositiva de chivisDiapositiva de chivis
Diapositiva de chivis
 
Diapositiva de chivis
Diapositiva de chivisDiapositiva de chivis
Diapositiva de chivis
 
Diapositiva de chivis
Diapositiva de chivisDiapositiva de chivis
Diapositiva de chivis
 
Diapositiva de chivis
Diapositiva de chivisDiapositiva de chivis
Diapositiva de chivis
 
Diapositiva de chivis
Diapositiva de chivisDiapositiva de chivis
Diapositiva de chivis
 
Desarrollo de webextensions
Desarrollo de webextensionsDesarrollo de webextensions
Desarrollo de webextensions
 
1.1.1.8 lab researching network collaboration tools
1.1.1.8 lab   researching network collaboration tools1.1.1.8 lab   researching network collaboration tools
1.1.1.8 lab researching network collaboration tools
 
Sesionmoodle 101223143117-phpapp02
Sesionmoodle 101223143117-phpapp02Sesionmoodle 101223143117-phpapp02
Sesionmoodle 101223143117-phpapp02
 
Sesionmoodle 101223143117-phpapp02
Sesionmoodle 101223143117-phpapp02Sesionmoodle 101223143117-phpapp02
Sesionmoodle 101223143117-phpapp02
 
Sesion moodle - "más allá de lo básico"...
Sesion moodle - "más allá de lo básico"...Sesion moodle - "más allá de lo básico"...
Sesion moodle - "más allá de lo básico"...
 
guia-6.pdf
guia-6.pdfguia-6.pdf
guia-6.pdf
 
Seguridad en access
Seguridad en accessSeguridad en access
Seguridad en access
 
Atix24
Atix24Atix24
Atix24
 

Mais de Esau Rodriguez

Mais de Esau Rodriguez (7)

Dia5
Dia5Dia5
Dia5
 
Dia4
Dia4Dia4
Dia4
 
Dia3
Dia3Dia3
Dia3
 
Dia2
Dia2Dia2
Dia2
 
Dia1
Dia1Dia1
Dia1
 
Django tlp2k11
Django tlp2k11Django tlp2k11
Django tlp2k11
 
Cursos Isla 2007: Administración Avanzada Linux (DHCP)
Cursos Isla 2007: Administración Avanzada Linux (DHCP)Cursos Isla 2007: Administración Avanzada Linux (DHCP)
Cursos Isla 2007: Administración Avanzada Linux (DHCP)
 

Último

Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 

Último (11)

Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 

Django Avanzado: Dia3

  • 2. RECAPITULEMOS • Vimos los middlewares • Creamos un middleware para contar las visitas a cada post • Vimos factory_boy para crear tests
  • 3. HOYVEREMOS • Custom authentication backend • Custom user model • Señales
  • 4. DÍA 3:AUTHENTICATION BACKEND • Sirven para autenticar (y autorizar) usuarios • Puede haber más de uno • https://docs.djangoproject.com/en/1.6/topics/auth/ customizing/#other-authentication-sources • EJERCICIO: Crear un authentication backend, que entre con el usuario “admin” si se entra con un usuario “hardcodeado”.
  • 5. DÍA 3: CUSTOM USER MODEL • Se puede extender el modelo de usuarios (OneToOne) • Se puede crear un modelo de usuarios completamente desde 0 (AbstractBaseUser) • Se puede crear un modelo de usuarios, partiendo del django.contrib.auth.models.User (AbstractUser) • Ejercicio: Crea un modelo de usuarios que contenga, la fecha de nacimiento y la altura del usuario • Ejercicio: Crea un authentication backend que solo permita validarse a las personas nacidas antes del 01/01/1990
  • 6. DÍA 3: SEÑALES • Implementan el patrón “observer” (AKA PUB/SUB) • https://docs.djangoproject.com/en/1.6/topics/signals/ • https://docs.djangoproject.com/en/1.6/ref/signals/ • http://www.shutupandship.com/2012/04/django-signals-and-observer-design.html • OJO: Las señales son SíNCRONAS • EJERCICIO: Crear una señal que cuando se cree o modifique un post, cree la entrada en la tabla de Visits e incremente el valor del contador en 1. • EJERCICIO: Crear una clase “perfil” con un OneToOne a nuestro modelo de usuario y que incluya las preferencias culinarias de cada usuario. El perfil se debe crear cuando se crea el usuario y debe mostrar que le gusta la comida italiana (a todo el mundo le gusta).
  • 7. DÍA 3: FIN • Mañana hablaremos sobre: • Comandos de gestión personalizados • Multiples bases de datos