SlideShare ist ein Scribd-Unternehmen logo
1 von 7
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt? (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
 

Andere mochten auch

Tienda virtual php_mysql
Tienda virtual php_mysqlTienda virtual php_mysql
Tienda virtual php_mysql
jubacalo
 

Andere mochten auch (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
 

Ähnlich wie Django Avanzado: Dia3

Taller de Django betabeers
Taller de Django betabeersTaller de Django betabeers
Taller de Django betabeers
betabeers
 
Taller oracle ccfcffcfcfcfcfcffc
Taller oracle ccfcffcfcfcfcfcffcTaller oracle ccfcffcfcfcfcfcffc
Taller oracle ccfcffcfcfcfcfcffc
jinkalel kalel
 
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
15440582
 
Sesionmoodle 101223143117-phpapp02
Sesionmoodle 101223143117-phpapp02Sesionmoodle 101223143117-phpapp02
Sesionmoodle 101223143117-phpapp02
Kimiemi VJ
 

Ähnlich wie 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
 

Mehr von 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)
 

Kürzlich hochgeladen

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Kürzlich hochgeladen (11)

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.
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
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
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
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
 
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...
 
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
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
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
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 

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