Introducción a Django Manuel Kaufmann Septiembre de 2009

Slides:



Advertisements
Presentaciones similares
Esta Guía explica como:
Advertisements

Bases de conocimiento colaborativas
Mónica Acosta Yeison Ceballos Carlos Rodallega
Los objetivos de esta presentación
Introducción a Moodle.
Separación de la presentación: Plantillas CI-2413 Desarrollo de aplicaciones para Internet.
Qué es una Comunidad? Comunidades… … compartir conocimientos, noticias y documentación entre agrupaciones de usuarios en torno a un tema determinado. Pestaña.
Opciones bajo el comando Tools del menú principal
USUARIOS DE JOOMLA! Usuarios de Joomla Introducción
CGI I La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con él. Dicho.
Aplicaciones semánticAS con Drupal
Es un sitio web interactivo el cual fue creado para compartir experiencias, conocimientos e ideas entre diferentes grupos de COOPEALIANZA. En el sitio.
COMERCIO ELECTRONICO NOMBRE:Guambo Barreros Zenaida Elizabeth NIVEL:Sexto CARRERA:Administración Secretarial.
Open Journal System Roles y funciones.
"java del lado del servidor" Servlet y JSP Java Server Pages.
Desarrollo de Aplicaciones para Internet
Curso de Java y Aplicaciones Web
Symfony La Vista y el Controlador (MVC)
1.2 Sintaxis del lenguaje Java.
INSTALACIÓN Y MANTENIMIENTO SO ADMINISTRACIÓN SO LINUX.
TECNOLOGÍA IDC Internet Database Connector Trinitario Gómez López.
RESUMENCURSO STRUTS 2 Resumen de lo visto en este tercer módulo: VISTA del framework Struts 2 Debes tener los conceptos muy claros sobre: Results UI Tags.
Taller 5: Trabajo con Plantillas y uso de tecnología Ajax.
Al término de la clase, el alumno reconoce las ventajas de usar JAVASCRIPT para un proyecto web.
FORMULARIOS HTML TIPOS DE ELEMENTOS DE FORMULARIO n Campos de entrada de datos. n Campos de datos de varias líneas. n Listas. n Botones. n Textos descriptivos.
Ingeniero Anyelo Quintero
Java Server Faces.
DESARROLLANDO TEMPLATES PARA JOOMLA! 1.5 Ing. Edwin Rolando Paredes Calderón. Comercio Electrónico.
Portafolio Electrónico (Google site)
COLEGIO TOLEDO PLATA CREACION DE UN BLOG. 1.- Elegimos el servidor de blogger que más se acerque a nuestras necesidades JIMDO LA COCTELERA BLOGGER.COM.
Diseño de una base de datos Zavaleta Nolasco Karina
InfoPath Ventajas y Uso.
Para la instalación completa del iAH 3. 1
SPRING MVC.
INSTITUTO DE ESTUDIOS SUPERIORES DE CHIHUAHUA COMPUTACION Ciclo: segundo cuatrimestre Lic. Roberto Servando Roque Corona.
Servlets 18 de Marzo de Índice ¿Qué es un Servlet? ¿Cuándo y por qué usar Servlets? Estructura básica de un HttpServlet Servlet simple que genera.
Blogs y Wikis Prof. Viviana Harari
Clientes Web [PHP] Paso de datos::GET.. Paso de datos Toda variable existe mientras nos encontremos en el mismo documento que fue declarada. Cuando me.
Google Docs y Talk. Vamos a hacer una pequeña presentación de google docs y google talk en la que hablaremos de: Historia Historia Ventajas y desventajas.
LUIS HERNÁN VARGAS ALVARADO EVERYONE WEB. EveryOneWeb es un servicio Web que te permite crear un sitio comercial o personal. El modo de construcción es.
Olga Catasús Poveda
Introducción al Lenguaje. ¿Qué es PHP? O Es un lenguaje de programación que es interpretado por un servidor web. O El lenguaje es genérico. PHP está orientado.
Crea tu propio Edublog Comunicación Educativa. Producto a diseñar Un Blog en Internet con entradas en video, documentos en línea, diapositivas, accesos.
M.C. Juan Carlos Olivares Rojas. Code Igniter “It’s an Open Source Web Application Framework that helps you write incredible PHP programs”
Formularios La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con.
Introducción al Lenguaje. ¿ Qué es PHP ? O Hypertext Pre-processoes (PHP) es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en.
Blogger Página de inicio de Blogger Opción de búsqueda de blogs Opción de visita rápida Opción de creación de blog Opción de entrada.
Profesora: Laura Patricia Pinto Prieto Ingeniera de sistemas Introducción a Programación 3.
Confidential // Neoris 1 Confidential // Do Not Reproduce without prior written permission from Neoris Servlets.
En la página Wordpress.com elegimos comenzar un blog y vamos siguiendo los pasos de registro: Rellenamos el formulario con el nombre de usuario (sólo.
Tema 11 Bases de Datos y el Lenguaje SQL
Como crear un blog. 1º Crear nuestro blog en blogger Lo primero que vamos a hacer es ir a y pincharemos sobre el boton que pone Create.
Práctica Profesional PHP.
REPÚBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD PEDAGÓGICA EXPERIMENTAL LIBERTADOR INSTITUTO PEDAGÓGICO DE MIRANDA “JOSÉ MANUEL SISO MARTÍNEZ” CURSO: INFORMÁTICA.
O PEN J OURNAL S YSTEM Roles y funciones. F LUJO EDITORIAL EN OJS.
Introducción al Lenguaje. ¿Qué es PHP? O Es un lenguaje de programación que es interpretado por un servidor web. O El lenguaje es genérico. PHP está orientado.
Your Logo ING. FREDY ALEXANDER MARTINEZ. Here comes your footer  Page 2 Este patrón fue descrito por primera vez por Trygve Reenskaug en 1979, y la implementación.
Weebly Nueva Interfaz del escritorio. Weebly Weebly es una plataforma para crear páginas web. Estas páginas pueden contener uno o más blogs. Recientemente.
Autores y Editores Introducción al uso de las Aplicaciones de Acción.
MANUEL DE USUARIO DE WORPRESS.  No es el programa más fácil pero si muy completo y permite un nivel de personalización y configuración muy  elevado.
Introducción a ASP.NET MVC3. Introducción ASP.NET MVC es un framework para la creación de aplicaciones web que aplica el patrón Model View Controller.
Curso de Google Drive Generalidades ¿Cómo se hace? ¿Como se hace?
Propuesta de Creación de Página en Google Sites o ExeLearning USS VIRTUAL.
Introducción a programación web Martin Esses. Formularios HTML se utilizan para pasar datos a un servidor. Un formulario HTML puede contener elementos.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Introducción a programación web Martin Esses. Los datos almacenados en las bases de datos normalmente son mostrados en nuestras vistas. Para que nuestras.
Introducción a programación web Martin Esses. En las presentaciones anteriores, vimos como enviar datos a un controlador usando POST y como generar formularios.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Jornadas de Software Libre 2007 JSL2007
Transcripción de la presentación:

Introducción a Django Manuel Kaufmann Septiembre de

Introducción a Django ¿Qué es Django? Framework Rápido y limpio Problemas resueltos ¿Para qué se utiliza? Aplicaciones web Blog's Sistemas complejos Encuesta Historia Necesidad en 2003 Lawrence Journal-World En 2005 es liberado como software libre

Introducción a Django Patrón de diseño MVC Separar los componentes de la aplicación Datos La interfaz de usuario La lógica del sistema Modelo (models.py) Descripción de las tablas Clases de Python Vista (views.py) Lógica para mostrar resultados en pantalla Procesar intervención del usuario Plantillas (index.html) Forma de visualizar los resultados Código HTML y Django Template

Introducción a Django Instalación [humitos]$ wget -c [humitos]$ tar xzvf Django-1.1.tar.gz [humitos]$ cd Django-1.1 [humitos]$ sudo python setup.py install Prueba [humitos]$ python Python (r254:67916, Feb , 20:16:45) [GCC 4.3.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import django >>> django.VERSION (1, 1, 0, 'final', 0) >>>

Introducción a Django Comenzar un proyecto It worked! Archivos del proyecto __init__.py: indica a Python que este directorio es un paquete manage.py: utilidad para interactuar con el proyecto settings.py: configuraciones generales para el proyecto urls.py: declaraciones de todas las urls del sitio web [humitos]$ django-admin.py startproject blog [humitos]$ cd blog/ [humitos]$ ls blog/ __init__.py manage.py settings.py urls.py [humitos]$ python manage.py runserver

Introducción a Django Mapear URL's Funciones vista Mediante expresiones regulares Varias urls, misma vista Expresiones regulares No por estructura de directorios, ni nombre de clases Control absoluto Grupos en las regex (nombrados o no) Función para la url Strings, 'blog.posts.views.my_view' Objeto función importado/definido previamente La función debe devolver un HttpResponse

Introducción a Django ¿Qué es una aplicación? Conjunto de archivos de código fuente Python Incluye sus modelos, vistas y plantillas ¿Cuál es la diferencia con un proyecto? Conjunto de aplicaciones Configuraciones globales para todas las aplicaciones Misma conexión a la base de datos Permite reutilizar código Ejemplo [humitos]$ python manage.py startapp posts Notar el uso de manage.py Archivos __init__.py, models.py, views.py

Introducción a Django Modelos Base de datos Un modelo por tabla Propios de cada aplicación Configuración del motor Archivo settings.py del proyecto Definición de los modelos DATABASE_ENGINE = 'sqlite3' DATABASE_NAME = '/home/humitos/blog/database.db' DATABASE_USER = ''... Editar el archivo models.py de la aplicación Un modelo por tabla Propios de cada aplicación

Introducción a Django Definición de modelos Modelo 'Post' Dos campos más un id y una relación titulo es un string de máximo 50 caracteres, contenido es un texto ( ) y etiquetas es una relación de muchos a muchos con Etiqueta Equivalente en SQL: from django.db import models class Post(models.Model): titulo = models.CharField(max_length=50) contenido = models.TextField() etiquetas = models.ManyToManyField(Etiqueta) [humitos]$ python manage.py sql posts

Introducción a Django Definición de modelos Instalar la aplicación Archivo settings.py INSTALLED_APPS Agregar la línea 'blog.posts' Sincronizar la base de datos (syncdb) Prueba en el shell class Etiqueta(models.Model): nombre = models.CharField(max_length=25) class Comentario(models.Model): autor = models.CharField(max_length=25) contenido = models.TextField() post = models.ForeignKey(Post)

Introducción a Django Sistema de administración Aplicación nativa de Django (django.contrib.admin) ABM muy sencillo con interfaz web Instalación Como cualquier otra aplicación (INSTALLED_APPS) Sincronizar la BD Crear superusuario Habilitar la url en urls.py Acceder a Agregar nuestros modelos admin.py en cada aplicación Registrar los modelos Realizar la customización necesaria Definir __unicode__ para nuestros modelos

Introducción a Django Vistas Simple función de Python Recibe una petición web (request) y devuelve una respuesta Imágen, archivo de texto, HTML, etc Primera vista Importar funciones, modelos y shortcuts necesarios Definir una función Manejar la petición Retornar un HttpResponse Modificar urls.py para que acepte esta vista Crear un formulario Registrar nuestros modelos Definir campos necesarios

Introducción a Django Ejemplo from django.shortcuts import render_to_response from django.http import HttpResponseRedirect from blog.posts.models import PostForm, Post def agregar_post(request): if request.method == 'GET': formulario = PostForm() return render_to_response('agregar_post.html', {'formulario': formulario}) else: formulario = PostForm(request.POST) if formulario.is_valid(): formulario.save() return HttpResponseRedirect('/')

Introducción a Django Sistema de plantillas Código Django dentro de HTML Flujos básicos Sustitución de variables Herencia Definir un base.html Header y footer Cambiar {% extends base.html %} Escribir los bloques interesantes {% block title %} Etiquetas If: {% if variable %} for: {% for post in posts %} {% endfor %} / {% endif %}

Introducción a Django Sistema de plantillas Agregar nuestras plantillas en settings.py TEMPLATE_DIRS Filtros Se aplican a variables antes de ser mostradas lower, truncatewords, etc {{ variable|lower }} {{ variable|truncatewords:25 }} Extensión Definir nuestros propios filtros, etiquetas y bloques Con o sin argumentos Muy sencillo

Introducción a Django ¿Preguntas?

Introducción a Django Manuel Kaufmann ¡Muchas Gracias! Comunidad Django: Lista de correo: Libro en español: Canal de IRC: #django-es en irc.freenode.net