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?

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

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
 

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

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
 

Ä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

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

taller de tablas en word para estudiantes de secundaria
taller de tablas en word para estudiantes de secundariataller de tablas en word para estudiantes de secundaria
taller de tablas en word para estudiantes de secundariaandresingsiseo
 
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccna
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccnaTELECOMUNICACIONES- CAPITULO2: Modelo Osi ccna
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccnajrujel91
 
manual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdfmanual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdfprofmartinsuarez
 
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...Kevin Serna
 
Inteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialInteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialEducática
 
¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf7adelosriosarangojua
 
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .llocllajoaquinci00
 
editorial de informática de los sueños.docx
editorial de informática de los sueños.docxeditorial de informática de los sueños.docx
editorial de informática de los sueños.docxssusere34b451
 
Gestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerGestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerRobertoCarrancioFern
 
Uso de las TIC en la vida cotidiana .
Uso de las TIC en la vida cotidiana       .Uso de las TIC en la vida cotidiana       .
Uso de las TIC en la vida cotidiana .itzyrivera61103
 
Licencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de SoftwareLicencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de SoftwareAndres Avila
 
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdfPons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdffrank0071
 
Unidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfUnidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfMarianneBAyn
 
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiCVelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC6dwwcgtpfx
 
Navegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
Navegadores de internet - Nuevas Tecnologías de la Información y la ComunicaciónNavegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
Navegadores de internet - Nuevas Tecnologías de la Información y la ComunicaciónAntonia Yamilet Perez Palomares
 
NIVEL DE MADUREZ TECNOLÓGICA (TRL).pptx
NIVEL DE  MADUREZ TECNOLÓGICA (TRL).pptxNIVEL DE  MADUREZ TECNOLÓGICA (TRL).pptx
NIVEL DE MADUREZ TECNOLÓGICA (TRL).pptxjarniel1
 
Presentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptxPresentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptxTaim11
 
proyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesproyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesssuserbe0d1c
 
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUALJORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUALGuadalinfoHuscarGuad
 
Introducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptxIntroducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptxJohanna4222
 

Kürzlich hochgeladen (20)

taller de tablas en word para estudiantes de secundaria
taller de tablas en word para estudiantes de secundariataller de tablas en word para estudiantes de secundaria
taller de tablas en word para estudiantes de secundaria
 
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccna
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccnaTELECOMUNICACIONES- CAPITULO2: Modelo Osi ccna
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccna
 
manual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdfmanual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdf
 
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
 
Inteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialInteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicial
 
¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf
 
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .
 
editorial de informática de los sueños.docx
editorial de informática de los sueños.docxeditorial de informática de los sueños.docx
editorial de informática de los sueños.docx
 
Gestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerGestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL Server
 
Uso de las TIC en la vida cotidiana .
Uso de las TIC en la vida cotidiana       .Uso de las TIC en la vida cotidiana       .
Uso de las TIC en la vida cotidiana .
 
Licencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de SoftwareLicencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de Software
 
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdfPons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
 
Unidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfUnidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdf
 
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiCVelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
 
Navegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
Navegadores de internet - Nuevas Tecnologías de la Información y la ComunicaciónNavegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
Navegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
 
NIVEL DE MADUREZ TECNOLÓGICA (TRL).pptx
NIVEL DE  MADUREZ TECNOLÓGICA (TRL).pptxNIVEL DE  MADUREZ TECNOLÓGICA (TRL).pptx
NIVEL DE MADUREZ TECNOLÓGICA (TRL).pptx
 
Presentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptxPresentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptx
 
proyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesproyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptuales
 
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUALJORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
 
Introducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptxIntroducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptx
 

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