SlideShare una empresa de Scribd logo
1 de 14
Programación web con Django
Recapitulemos
● Ayer vimos algo de python que es el lenguaje
en el que está escrito Django y es el lenguaje
en el que se escriben proyectos Django
● Comenzamos un virtualenv
● Instalamos el paquete “Django” con pip en el
virtualenv anteriormente nombrado
Qué veremos hoy
● Django es un “MVC”, en realidad un “MVT”
● Estructura de un proyecto
● La capa de modelo
● La interfaz administrativa de Django
Antes de continuar
● La documentación de Django es realmente
buena https://docs.djangoproject.com/en/1.5/
● Hay mucha información en stackoverflow
http://stackoverflow.com/questions/tagged/django
● Hay comunidades en Facebook, y Google
Groups tanto en español como en inglés
MVC vs MVT I
● MVC significa “modelo vista controlador”.
● Modelo: Lo que almacena (o persiste los
datos)
● Controlador: Lo que transforma los datos
guardados para su visualización o utilización
● Vista: Lo que presenta los datos ya
transformados al usuario
MVC vs MVT II
● MVT significa “modelo vista plantilla”
● El controlador se mezcla en la capa de
modelo y capa de vista
● La capa de plantilla permite modificar el
aspecto de lo que se muestra al usuario.
La estructura de un proyecto
● Un proyecto muchas aplicaciones
● Django-admin.py startproject amazing_blog
● python manage startapp blog
Ejercicio 1
● Crea un proyecto amazing_blog que contenga
una aplicación blog. Configura para su uso
una base de datos sqlite que utilice un fichero
llamado dev.db
Antes de continuar
● Interfaz administrativa
● URLs
Modelo de datos
● Django utiliza un ORM (object relational
mapper) de manera que no es necesario
escribir SQL, sino solo “instanciar” y utilizar
objetos.
● Veamos que “tipos de datos” permite utilizar
Django (
https://docs.djangoproject.com/en/1.5/ref/models/fiel
)
● Creamos el modelo de datos “post”
Ejercicio 2
● Crea el modelo de datos “comment”. Cada
comentario está asociado a un único post.
La consola de Django
● Importando modulos
● ORM
– Queries (get, filter, all)
– Creando nuevos posts (create, instanciar + save)
– Borrando
– Actualizando
La interfaz administrativa
● Hagamos que los comentarios de un post se
muestren como “inlines” dentro del post
asociado
● Modifiquemos la lista de campos para hacer
que se indique el número de comentarios de
un post
Profundizar más
● ¿Cómo se gestionan los cambios en el
modelo? (Schema evolution, south)
● Desarrollo modular (Portable apps)
● Soporte para múltiples bases de datos en el
mismo proyecto

Más contenido relacionado

La actualidad más candente

Manual de-gestión-de-un-proyecto-de-software-en-una-herramienta-informática-l...
Manual de-gestión-de-un-proyecto-de-software-en-una-herramienta-informática-l...Manual de-gestión-de-un-proyecto-de-software-en-una-herramienta-informática-l...
Manual de-gestión-de-un-proyecto-de-software-en-una-herramienta-informática-l...
Erick Mireles Merchant
 
Jobsket.com, Grails en un proyecto real
Jobsket.com, Grails en un proyecto realJobsket.com, Grails en un proyecto real
Jobsket.com, Grails en un proyecto real
Jobsket
 
Buenas Prácticas de desarrollo en Ruby on Rails
Buenas Prácticas de desarrollo en Ruby on RailsBuenas Prácticas de desarrollo en Ruby on Rails
Buenas Prácticas de desarrollo en Ruby on Rails
Sergio Gil
 

La actualidad más candente (20)

Introducción a WebGL
Introducción a WebGLIntroducción a WebGL
Introducción a WebGL
 
Construyendo un API REST con Spring Boot y GraalVM
Construyendo un API REST con Spring Boot y GraalVMConstruyendo un API REST con Spring Boot y GraalVM
Construyendo un API REST con Spring Boot y GraalVM
 
Mejorando la productividad en proyectos java EE con CI y CD - OTN 2015
Mejorando la productividad en proyectos java EE con  CI y CD - OTN 2015 Mejorando la productividad en proyectos java EE con  CI y CD - OTN 2015
Mejorando la productividad en proyectos java EE con CI y CD - OTN 2015
 
Conferencia sobre "Scripting en gvSIG" con la versión 2.x
Conferencia sobre "Scripting en gvSIG" con la versión 2.xConferencia sobre "Scripting en gvSIG" con la versión 2.x
Conferencia sobre "Scripting en gvSIG" con la versión 2.x
 
APIs REST: Django y Go
APIs REST: Django y GoAPIs REST: Django y Go
APIs REST: Django y Go
 
Manual de-gestión-de-un-proyecto-de-software-en-una-herramienta-informática-l...
Manual de-gestión-de-un-proyecto-de-software-en-una-herramienta-informática-l...Manual de-gestión-de-un-proyecto-de-software-en-una-herramienta-informática-l...
Manual de-gestión-de-un-proyecto-de-software-en-una-herramienta-informática-l...
 
Sobre GrooScript
Sobre GrooScriptSobre GrooScript
Sobre GrooScript
 
Etiquetas en JSP
Etiquetas en JSPEtiquetas en JSP
Etiquetas en JSP
 
FirebugNext ¿Qué se viene en la nueva versión de Firebug?
FirebugNext ¿Qué se viene en la nueva versión de Firebug?FirebugNext ¿Qué se viene en la nueva versión de Firebug?
FirebugNext ¿Qué se viene en la nueva versión de Firebug?
 
Cómo crear un RESTful API con Go
Cómo crear un RESTful API con GoCómo crear un RESTful API con Go
Cómo crear un RESTful API con Go
 
Presentacion Ruby on Rails en Universidad Autónoma 2009
Presentacion Ruby on Rails en Universidad Autónoma 2009Presentacion Ruby on Rails en Universidad Autónoma 2009
Presentacion Ruby on Rails en Universidad Autónoma 2009
 
Django avanzado: Dia1
Django avanzado: Dia1Django avanzado: Dia1
Django avanzado: Dia1
 
Flujo de trabajo básico con git
Flujo de trabajo básico con gitFlujo de trabajo básico con git
Flujo de trabajo básico con git
 
Uso de tecnologías modernas en joomla
Uso de tecnologías modernas en joomlaUso de tecnologías modernas en joomla
Uso de tecnologías modernas en joomla
 
Jobsket.com, Grails en un proyecto real
Jobsket.com, Grails en un proyecto realJobsket.com, Grails en un proyecto real
Jobsket.com, Grails en un proyecto real
 
Buenas Prácticas de desarrollo en Ruby on Rails
Buenas Prácticas de desarrollo en Ruby on RailsBuenas Prácticas de desarrollo en Ruby on Rails
Buenas Prácticas de desarrollo en Ruby on Rails
 
Greach 2013 - Todo lo que me hubiera gustado saber cuando empecé a desarrolla...
Greach 2013 - Todo lo que me hubiera gustado saber cuando empecé a desarrolla...Greach 2013 - Todo lo que me hubiera gustado saber cuando empecé a desarrolla...
Greach 2013 - Todo lo que me hubiera gustado saber cuando empecé a desarrolla...
 
Skipfish
Skipfish Skipfish
Skipfish
 
Codemotion 2013 - Quiero tiempo real y lo quiero para ayer
Codemotion 2013 - Quiero tiempo real y lo quiero para ayerCodemotion 2013 - Quiero tiempo real y lo quiero para ayer
Codemotion 2013 - Quiero tiempo real y lo quiero para ayer
 
#MM17ES - Theming en Magento 2 usando un framework de front-end
#MM17ES - Theming en Magento 2 usando un framework de front-end#MM17ES - Theming en Magento 2 usando un framework de front-end
#MM17ES - Theming en Magento 2 usando un framework de front-end
 

Destacado

Instalacion linux
Instalacion linuxInstalacion linux
Instalacion linux
Alex Villa
 
Administración básica de linux
Administración básica de linuxAdministración básica de linux
Administración básica de linux
Alex Villa
 
Vistas En Sql Y My Sql
Vistas En Sql Y My SqlVistas En Sql Y My Sql
Vistas En Sql Y My Sql
Ziscko
 
Itil edición 2011
Itil edición 2011Itil edición 2011
Itil edición 2011
BP Gurus
 

Destacado (20)

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)
 
reveal.js 3.0.0
reveal.js 3.0.0reveal.js 3.0.0
reveal.js 3.0.0
 
Dia4
Dia4Dia4
Dia4
 
Jose guanuchi tarea001
Jose guanuchi tarea001Jose guanuchi tarea001
Jose guanuchi tarea001
 
Installacion De Open Suse 11.0
Installacion De Open Suse 11.0Installacion De Open Suse 11.0
Installacion De Open Suse 11.0
 
Instalacion linux
Instalacion linuxInstalacion linux
Instalacion linux
 
Herramientas básicas de configuración.
Herramientas básicas de configuración.Herramientas básicas de configuración.
Herramientas básicas de configuración.
 
Administración básica de linux
Administración básica de linuxAdministración básica de linux
Administración básica de linux
 
Installaciondeopensuse11 0 090415102305 Phpapp02
Installaciondeopensuse11 0 090415102305 Phpapp02Installaciondeopensuse11 0 090415102305 Phpapp02
Installaciondeopensuse11 0 090415102305 Phpapp02
 
Administracion de archivos y usarios
Administracion de archivos y usariosAdministracion de archivos y usarios
Administracion de archivos y usarios
 
PATRONES DE DISEÑO WEB
PATRONES DE DISEÑO WEBPATRONES DE DISEÑO WEB
PATRONES DE DISEÑO WEB
 
Introducció a Java Collections
Introducció a Java CollectionsIntroducció a Java Collections
Introducció a Java Collections
 
Django tlp2k11
Django tlp2k11Django tlp2k11
Django tlp2k11
 
Su se linux-adminguide-9.2-es
Su se linux-adminguide-9.2-esSu se linux-adminguide-9.2-es
Su se linux-adminguide-9.2-es
 
Administración de base de datos oracle - sesion 5
Administración de base de datos oracle - sesion 5Administración de base de datos oracle - sesion 5
Administración de base de datos oracle - sesion 5
 
Consola y Comandos Básicos de Linux (I)
Consola y Comandos Básicos de Linux (I)Consola y Comandos Básicos de Linux (I)
Consola y Comandos Básicos de Linux (I)
 
Administración de servicios y procesos en GNU/Linux
Administración de servicios y procesos en GNU/LinuxAdministración de servicios y procesos en GNU/Linux
Administración de servicios y procesos en GNU/Linux
 
Vistas En Sql Y My Sql
Vistas En Sql Y My SqlVistas En Sql Y My Sql
Vistas En Sql Y My Sql
 
Itil edición 2011
Itil edición 2011Itil edición 2011
Itil edición 2011
 
SaaSy maps - using django-tenants and geodjango to provide web-gis software-a...
SaaSy maps - using django-tenants and geodjango to provide web-gis software-a...SaaSy maps - using django-tenants and geodjango to provide web-gis software-a...
SaaSy maps - using django-tenants and geodjango to provide web-gis software-a...
 

Similar a Dia2

Similar a Dia2 (20)

Django - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales ConceptosDjango - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales Conceptos
 
Django - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales ConceptosDjango - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales Conceptos
 
Introducción a Django
Introducción a DjangoIntroducción a Django
Introducción a Django
 
Combinación ganadora: Plone como CMS, tu framework preferido como frontend
Combinación ganadora: Plone como CMS, tu framework preferido como frontendCombinación ganadora: Plone como CMS, tu framework preferido como frontend
Combinación ganadora: Plone como CMS, tu framework preferido como frontend
 
Proyect Evenge. Event manager
Proyect Evenge. Event managerProyect Evenge. Event manager
Proyect Evenge. Event manager
 
Semana 2 Configuración entorno de desarrollo
Semana 2   Configuración entorno de desarrolloSemana 2   Configuración entorno de desarrollo
Semana 2 Configuración entorno de desarrollo
 
202204-Modernizando aplicaciones legacy
202204-Modernizando aplicaciones legacy202204-Modernizando aplicaciones legacy
202204-Modernizando aplicaciones legacy
 
El universo JavaScript en Drupal 8
El universo JavaScript en Drupal 8El universo JavaScript en Drupal 8
El universo JavaScript en Drupal 8
 
S1-DS2.pptx
S1-DS2.pptxS1-DS2.pptx
S1-DS2.pptx
 
Dia5
Dia5Dia5
Dia5
 
Welcome to Django
Welcome to DjangoWelcome to Django
Welcome to Django
 
S1 ds2
S1 ds2S1 ds2
S1 ds2
 
Mis primeros pasos con Symfony 2
Mis primeros pasos con Symfony 2Mis primeros pasos con Symfony 2
Mis primeros pasos con Symfony 2
 
Drupal 8 WorkShop - e-Ghost 2015
Drupal 8 WorkShop - e-Ghost 2015  Drupal 8 WorkShop - e-Ghost 2015
Drupal 8 WorkShop - e-Ghost 2015
 
Drupal 8 WorkShop
Drupal 8 WorkShopDrupal 8 WorkShop
Drupal 8 WorkShop
 
CrossDvlpu - REACT para desarrolladores de ASP.NET
CrossDvlpu - REACT para desarrolladores de ASP.NETCrossDvlpu - REACT para desarrolladores de ASP.NET
CrossDvlpu - REACT para desarrolladores de ASP.NET
 
Cross development - React para desarrolladores de asp.net
Cross development - React para desarrolladores de asp.netCross development - React para desarrolladores de asp.net
Cross development - React para desarrolladores de asp.net
 
Introducción a la programación para joomla
Introducción a la programación para joomlaIntroducción a la programación para joomla
Introducción a la programación para joomla
 
Introduccion drupal
Introduccion drupalIntroduccion drupal
Introduccion drupal
 
Taller evento TestingUY 2015 - Técnicas de Automatización Going from GOOD to ...
Taller evento TestingUY 2015 - Técnicas de Automatización Going from GOOD to ...Taller evento TestingUY 2015 - Técnicas de Automatización Going from GOOD to ...
Taller evento TestingUY 2015 - Técnicas de Automatización Going from GOOD to ...
 

Último

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Último (11)

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
 
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
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
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
 
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
 
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...
 
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
 
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.
 
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
 
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
 

Dia2

  • 2. Recapitulemos ● Ayer vimos algo de python que es el lenguaje en el que está escrito Django y es el lenguaje en el que se escriben proyectos Django ● Comenzamos un virtualenv ● Instalamos el paquete “Django” con pip en el virtualenv anteriormente nombrado
  • 3. Qué veremos hoy ● Django es un “MVC”, en realidad un “MVT” ● Estructura de un proyecto ● La capa de modelo ● La interfaz administrativa de Django
  • 4. Antes de continuar ● La documentación de Django es realmente buena https://docs.djangoproject.com/en/1.5/ ● Hay mucha información en stackoverflow http://stackoverflow.com/questions/tagged/django ● Hay comunidades en Facebook, y Google Groups tanto en español como en inglés
  • 5. MVC vs MVT I ● MVC significa “modelo vista controlador”. ● Modelo: Lo que almacena (o persiste los datos) ● Controlador: Lo que transforma los datos guardados para su visualización o utilización ● Vista: Lo que presenta los datos ya transformados al usuario
  • 6. MVC vs MVT II ● MVT significa “modelo vista plantilla” ● El controlador se mezcla en la capa de modelo y capa de vista ● La capa de plantilla permite modificar el aspecto de lo que se muestra al usuario.
  • 7. La estructura de un proyecto ● Un proyecto muchas aplicaciones ● Django-admin.py startproject amazing_blog ● python manage startapp blog
  • 8. Ejercicio 1 ● Crea un proyecto amazing_blog que contenga una aplicación blog. Configura para su uso una base de datos sqlite que utilice un fichero llamado dev.db
  • 9. Antes de continuar ● Interfaz administrativa ● URLs
  • 10. Modelo de datos ● Django utiliza un ORM (object relational mapper) de manera que no es necesario escribir SQL, sino solo “instanciar” y utilizar objetos. ● Veamos que “tipos de datos” permite utilizar Django ( https://docs.djangoproject.com/en/1.5/ref/models/fiel ) ● Creamos el modelo de datos “post”
  • 11. Ejercicio 2 ● Crea el modelo de datos “comment”. Cada comentario está asociado a un único post.
  • 12. La consola de Django ● Importando modulos ● ORM – Queries (get, filter, all) – Creando nuevos posts (create, instanciar + save) – Borrando – Actualizando
  • 13. La interfaz administrativa ● Hagamos que los comentarios de un post se muestren como “inlines” dentro del post asociado ● Modifiquemos la lista de campos para hacer que se indique el número de comentarios de un post
  • 14. Profundizar más ● ¿Cómo se gestionan los cambios en el modelo? (Schema evolution, south) ● Desarrollo modular (Portable apps) ● Soporte para múltiples bases de datos en el mismo proyecto