diarios.docx

50
CLASE No: 1 UNIDAD I FUNDAMENTOS DE LA PROGRAMACIÓN EN RED DURACIÓN DE CLASES 5 HORAS DOCENTE Ing. Edison Luis Loján Cueva FECHA 21/10/2014 TEMA Introducción a Django CONTENIDOS ACTIVIDADES HABILIDADES 1.1. Diagnóstico. 1.2. FrameWork Web. 1.3. Patrón de diseño MVC 1. Análisis de asistencia 2. Enunciar el Tema y Objetivo de la clase. 3. Exposición por parte de los Estudiantes Fortalecer los conocimientos de Programación Identificar los objetivos de la programación en Red DESARROLLO DEL CONTENIDO 1.1. Diagnóstico. Django, un FrameWork de desarrollo Web que ahorra tiempo y hace que el desarrollo Web sea divertido. Utilizando Django puedes crear y mantener aplicaciones Web de alta calidad con un mínimo esfuerzo. Django te permite enfocarte en la parte creativa, la parte divertida de tus aplicaciones Web; al mismo tiempo que mitiga el esfuerzo de las partes repetitivas. De esta forma, provee un alto nivel de abstracción de patrones comunes en el desarrollo Web, atajos para tareas frecuentes de programación y convenciones claras sobre cómo solucionar problemas. Al mismo tiempo, Django intenta no entrometerse, dejándote trabajar fuera del ámbito del FrameWork según sea necesario.

Upload: cristina-aguirre-cueva

Post on 09-Sep-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

CLASE No: 1

UNIDAD IFUNDAMENTOS DE LA PROGRAMACIN EN REDDURACIN DE CLASES5 HORAS

DOCENTEIng. Edison Luis Lojn CuevaFECHA21/10/2014

TEMAIntroduccin a Django

CONTENIDOSACTIVIDADESHABILIDADES

1.1. Diagnstico.1.2. FrameWork Web.1.3. Patrn de diseo MVC

1. Anlisis de asistencia2. Enunciar el Tema y Objetivo de la clase.3. Exposicin por parte de los EstudiantesFortalecer los conocimientos de ProgramacinIdentificar los objetivos de la programacin en Red

DESARROLLO DEL CONTENIDO

1.1. Diagnstico.Django, un FrameWork de desarrollo Web que ahorra tiempo y hace que el desarrollo Web sea divertido. Utilizando Django puedes crear y mantener aplicaciones Web de alta calidad con un mnimo esfuerzo.Django te permite enfocarte en la parte creativa, la parte divertida de tus aplicaciones Web; al mismo tiempo que mitiga el esfuerzo de las partes repetitivas. De esta forma, provee un alto nivel de abstraccin de patrones comunes en el desarrollo Web, atajos para tareas frecuentes de programacin y convenciones claras sobre cmo solucionar problemas. Al mismo tiempo, Django intenta no entrometerse, dejndote trabajar fuera del mbito del FrameWork segn sea necesario.1.2. FrameWork WebEs un paquete de software que sirve de base para otros proyectos de software. Provee una estructura y una metodologa de trabajo.Un FrameWork web es un software que alivia el sufrimiento derivado de construir pginas web dinmicas. Abstrae problemas comunes al desarrollo web y proporciona atajos para tareas de programacin frecuentesUn buen FrameWork web resuelve los siguientes problemas: Proporciona un mtodo para hacer corresponder peticiones URL con el cdigo que maneja las peticiones. En otras palabras, le otorga una manera de designar qu cdigo se ejecutar para cada URL. Por ejemplo, se le podra decir al FrameWork: "Para las URLs que se parezcan a /users/joe/, ejecuta el cdigo que muestre el perfil del usuario con ese nombre de usuario". Facilita mostrar, validar y volver a mostrar formularios HTML. Los formularios HTML son la principal manera de obtener datos de entrada de los usuarios web, as que ms le vale a un FrameWork web facilitar la representacin de formularios y el manejo del cdigo tedioso para mostrar y volver a mostrar formularios (resaltando los errores). Convierte la entrada que enva el usuario en estructuras de datos que se pueden manipular cmodamente. Por ejemplo, el FrameWork podra convertir los datos de un formulario HTML en tipos de datos nativos al lenguaje de programacin que se est utilizando. Ayuda a separar el contenido de la presentacin mediante un sistema de plantillas, de manera que se pueda cambiar el aspecto de un sitio web sin afectar al contenido, y viceversa. Se integra cmodamente con las capas de almacenamiento como las bases de datos pero no exige estrictamente el uso de una base de datos. Le permite trabajar ms productivamente, a un nivel de abstraccin mayor que si estuviera programando usando, digamos, HTTP. Pero no le prohbe ir un nivel de abstraccin "hacia abajo" cuando sea necesario.

1.3. Patrn de diseo MVCModeloEl archivo models.py contiene una descripcin de la tabla de la base de datos, como una clase Python. Usando esta clase se pueden crear, buscar, actualizar y borrar entradas de tu base de datos usando cdigo Python sencillo en lugar de escribir declaraciones SQL repetitivas.VistaEl archivo views.py contiene la lgica de la pgina, en la funcin latest_books(). A esta funcin se la denomina vista.El archivo latest_books.html es una plantilla HTML que describe el diseo de la pgina.ControladorEl archivo urls.py especfica qu vista es llamada segn el patrn URL. En este caso, la URL /latest/ ser manejada por la funcin latest_books().

CLASE No:

UNIDAD IIINTRODUCCIN A LA PROGRAMACIN CON DJANGODURACIN DE CLASES5 HORAS

DOCENTEIng. Edison Luis Lojn CuevaFECHA6/11/2014

TEMAPrincipios de las pginas Web dinmicas.

CONTENIDOSACTIVIDADESHABILIDADES

2.3. Errores 404.2.4. URLs dinmicas.2.5. Sistema Bsico de plantillas 1. Anlisis de asistencia2. Enunciar el Tema y Objetivo de la clase.3. Exposicin por parte de los EstudiantesIdentifica los protocolos www y su forma de aplicacin.Utiliza plantillas para desarrollo de interfaces grficas.

DESARROLLO DEL CONTENIDO2.3. Errores 404El mensaje de error 404 o No Encontrado, que puede ser encontrado al navegar por Internet, es una de las manifestaciones de la lista de cdigos de protocolo del HTTP. Cuando un servidor se comunica por medio del HTTP responde a una peticin de un documento HTML (una pgina web) dada por el navegador con un cdigo numrico. Cada cdigo de respuesta contiene adems una lnea de texto relacionada a la numeracin. La lnea de texto relacionada al cdigo 404 es " No encontrado". Cuando un servidor enva una respuesta 404 generalmente incluye en su respuesta un corto mensaje en HTML que menciona tanto el cdigo numrico como la lnea de texto relacionada.La utilidad de esta pgina va ms all del mensaje bsico de error 404; nos dice tambin, qu URLconf utiliz Django y todos los patrones de esa URLconf. Con esa informacin, tendramos que ser capaces de establecer porqu la URL solicitada lanz un error 404.Naturalmente, esta es informacin importante slo destinada a ti, el administrador Web. Si esto fuera un sitio en produccin alojado en Internet, no quisiramos mostrar esta informacin al pblico. Por esta razn, la pgina "Page not found" slo se muestra si nuestro proyecto en Django est en modo de depuracin (debug mode).2.4. URLs dinmicas.Las URL dinmicas se utilizan cuando el contenido de una pgina est en una base de datos y slo se ofrece como resultado de forma circunstancial. Las URL dinmicas contienen parmetros como un identificador de sesin o identificador de producto y presentan signos cmo ?=&.Las URL dinmicas tienen dos inconvenientes: los internautas no pueden entenderlas tan bien como las URL estticas y adems varias URL dinmicas pueden apuntar a un mismo contenido. Esto hace que distintos usuarios pueden presentar enlaces a diferentes URL y no obstante hacer referencia a un mismo contenido. Por estas razones, los web masters prefieren dar a las URL dinmicas un formato esttico.2.5. Sistema Bsico de plantillasPrimeramente debemos saber que es un plantilla dentro de Django: Una plantilla de Django es una cadena de texto que pretende separar la presentacin de un documento de sus datos. Una plantilla define rellenos y diversos bits de lgica bsica (esto es, etiquetas de plantillas) que regulan cmo debe ser mostrado el documento. Normalmente, las plantillas son usadas para producir HTML, pero las plantillas de Django son igualmente capaces de generar cualquier formato basado en texto.Esta plantilla es un HTML bsico con algunas variables y etiquetas de plantillas agregadas. Vamos paso a paso a travs de sta: Cualquier texto encerrado por un par de llaves (por ej. {{ person_name }}) es una variable. Esto significa "insertar el valor de la variable a la que se dio ese nombre". Cmo especificamos el valor de las variables? Vamos a llegar a eso en un momento.

Cualquier texto que est rodeado por llaves y signos de porcentaje (por ej. {% if ordered_warranty %}) es una etiqueta de plantilla. La definicin de etiqueta es bastante amplia: una etiqueta slo le indica al sistema de plantilla "haz algo".

CLASE No:

UNIDAD IIINTRODUCCIN A LA PROGRAMACIN CON DJANGODURACIN DE CLASES5 HORAS

DOCENTEIng. Edison Luis Lojn CuevaFECHA25/11/2014

TEMASitio de Administracin Django

CONTENIDOSACTIVIDADESHABILIDADES

2.13. Activar y Usar la interfaz de administracin

2.14. Personalizar la interfaz de administracin1. Anlisis de asistencia2. Enunciar el Tema y Objetivo de la clase.3. Exposicin por parte de los EstudiantesIdentifica los protocolos www y su forma de aplicacin.Utiliza plantillas para desarrollo de interfaces grficas.

DESARROLLO DEL CONTENIDO

2.13. Activar y Usar la interfaz de administracinACTIVACIN Pensamos que la interfaz de administracin es lo caracterstica ms atractiva de Django, pero como no todo el mundo lo necesita, es una pieza opcional. Esto significa que hay que dar tres pasos para activar la interfaz de administracin:1. Aada metadatos de administracin a sus modelos.No todos los modelos pueden (o deben) ser editables por los usuarios administradores, as que necesitamos "marcar" los modelos deberan tener interfaz de administracin. Esto lo hacemos aadiendo al modelo una clase interna Admin (junto con la clase Meta, si hay una). As que para aadir una interfaz de administracin a nuestro modelo Libro del captulo anterior:

La declaracin deAdminmarca la clase como poseedora de una interfaz de administracin. Hay una serie de opciones que podemos bajoAdmin, pero por ahora vamos a limitarnos al comportamiento por omisin, as que escribimospasspara decirle a Python que la clase Adminest vaca.2. Instale los modelos de administracin. Basta con aadir "django.contrib.admin" a la opcin INSTALLED_APPS y ejecute Python manage.py syncdb para instalar las tablas extra que usa la aplicacin de administracin.

3. Aada el patrn de URL en su urls.py. Si an est usando el creado po startproject, el patrn de la URL de administracin debera estar ya ah, pero comentado. De cualquier forma, los patrones de URL deberan acabar siendo algo as:

Ahora ejecutePythonmanage.pyrunserverpara arrancar el servidor de desarrollo.USOPara acceder al mdulo de administrador solo debemos navegar hacia la direccin base de nuestro proyecto y llamar al mdulo Admin. En nuestro caso, ya que estamos en modo de desarrollo, sera http://127.0.0.1:8000/admin/Nos debera aparecer en el explorador lo siguiente:

Podemos observar que nos pide un usuario y una clave. Por defecto el usuario y la clave son los que usamos para configurar nuestro sper usuario dentro de la aplicacin.

Los enlaces para agregar y modificar objetos llevan a dos pginas a las que nos referiremos comolistas de cambioyformularios de edicinde objetos:Procedemos a insertar libros.

Hay varias opciones que pueden controlar los campos que aparecen en esas listas y la aparicin de caractersticas extra como campos de bsqueda e accesos directo a filtros predefinidos. Ms adelante hablaremos sobre esto.Los formularios de edicin se usan para modificar objetos existentes y crear nuevos. Cada campo definido en tu modelo aparece aqu, y notars que campos de tipos diferentes tienen diferentes controles. (Por ejemplo, los campos de fecha/hora tienen controles tipo calendario, las claves forneas usan cajas de seleccin, etc.)

Te dars cuenta que la interfaz de administracin tambin controla por ti la validez de los datos ingresados. Intenta dejar un campo requerido en blanco o poner una fecha invlida en un campo de fecha, y vers esos avisos de esos errores cuando intentes guardar el objeto.

Tambin se pueden visualizar los cambios que se realizan atraves de la administracin en la esquina superior de la ventana.

2.14. Personalizar la interfaz de administracinPuedes personalizar el aspecto y la forma en que la interfaz de administracin se comporta de varias maneras.En esta parte se modificara el Admin y quedara de la siguiente manera.

Cada una de estas lneas indica a la interfaz de administracin que construya diferentes piezas de la interfaz: La opcinlist_displaycontrola que columnas aparecen en la tabla de la lista. Por defecto, la lista de cambios muestra una sola columna que contiene la representacin en cadena de caracteres del objeto. Aqu podemos cambiar eso para mostrar el ttulo, el editor y la fecha de publicacin. La opcinlist_filtercrea una barra de filtrado del lado derecho de la lista. Estaremos habilitados a filtrar por fecha (que te permite ver slo los libros publicados la ltima semana, mes, etc.) y por editor.Puedes indicarle a la interfaz de administracin que filtre por cualquier campo, pero las claves forneas, fechas, booleanos, y campos con un atributo de opciones choicesson las que mejor funcionan. Los filtros aparecen cuando tienen al menos 2 valores de dnde elegir. La opcinorderingcontrola el orden en el que los objetos son presentados en la interfaz de administracin. Es simplemente una lista de campos con los cuales ordenar el resultado; anteponiendo un signo menos a un campo se obtiene el orden reverso. En este ejemplo, ordenamos por fecha de publicacin con los ms recientes al principio. Finalmente, la opcinsearch_fieldscrea un campo que permite buscar texto. En nuestro caso, buscar el texto en el campottulo(entonces podras ingresar Djangopara mostrar todos los libros con "Django" en el ttulo).

CLASE No:

UNIDAD IIINTRODUCCIN A LA PROGRAMACIN CON DJANGODURACIN DE CLASES5 HORAS

DOCENTEIng. Edison Luis Lojn CuevaFECHA9/12/2014

TEMAVistas Avanzadas y URLconf

CONTENIDOSACTIVIDADESHABILIDADES

2.19. Trucos de URLconf

2.20. Incluyendo otras URLconfs 1. Anlisis de asistencia2. Enunciar el Tema y Objetivo de la clase.3. Exposicin por parte de los EstudiantesIdentifica los protocolos www y su forma de aplicacin.Utiliza plantillas para desarrollo de interfaces grficas.

DESARROLLO DEL CONTENIDO2.19. Trucos de URLconfNo hay nada de "especial" con las URLconfs como cualquier otra cosa en Django, son slo cdigo Python.Primeramente debes tener conocimiento sobre que es una vista y URL. Una vista s una funcin en Python que hace una solicitud Web y devuelve una respuesta Web. Una URL es un patrn que direcciona hacia una determinada vista, enviando o no parmetros hacia la misma.

RACIONALIZAR LAS IMPORTACIONES DE FUNCIONESCada entrada en la URLconf incluye su vista asociada, pasada directamente como un objeto de funcin.Esto significa que es necesario importar la vista al principio del mdulo.

Es posible evitar esto con la importacin propia del mdulo views.

Especificar la vista de un patrn particular en el URLconf: se puede pasar una cadena que contenga el nombre del mdulo y el nombre de la vista en lugar del objeto de funcin en s mismo.

Factorizar un prefijo de vista comn.

USAR VARIOS PREFIJOS DE VISTA Y GRUPOS CON NOMBRESSon URLs con diferentes vistas y diferentes aplicaciones.

Es ms fcil ver lo que sucede, de un vistazo, en una URLconf que utiliza grupos con nombre.SIN NOMBRE

CON NOMBRE

ALGORITMO DE AGRUPACION / CONCORDANCIA

2.20. Incluyendo otras URLconfsSi tu intencin es que tu cdigo sea usando en mltiples sitios implementados con Django, debes considerar el organizar tus URLconfs en una manera que permita el uso de inclusiones.Tu URLconf puede, en cualquier punto, "incluir" otros mdulos URLconf. Esto se trata, en esencia, de "enraizar" un conjunto de URLs debajo de otras. Por ejemplo, esta URLconf incluye otras URLconfs:1. Definir un archivo llamado urls.py dentro de nuestra app (Blog)2. Decir al archivo general urls.py que viene con nuestro site que se ha generado un archivo urls.py (PrimerBlog) solo para el manejo de artculos.