PDF de programación - Django & Google App Engine

Imágen de pdf Django & Google App Engine

Django & Google App Enginegráfica de visualizaciones

Publicado el 11 de Junio del 2019
540 visualizaciones desde el 11 de Junio del 2019
3,2 MB
72 paginas
Creado hace 15a (09/02/2009)
Django & Google App

Engine

Una combinación perfecta para desarrollar

portales web sofisticados y escalables

Dr. Diego Lz. de Ipiña Gz. de Artaza

http://paginaspersonales.deusto.es/dipina

Bizkaia Enpresa Digitala, Parque Tecnológico de Zamudio.

Edificio ESI, #204, 9 Febrero 2009, 9am-2pm

[email protected]

1

Contenidos

1.

Introducción (30 ').
 ¿Qué es Django?
 ¿Quién lo utiliza?
 Componentes de Django.
 El lenguaje Python.

2. Primera aplicación en Django (60')

 Instalación de Django: lenguaje, framework, base de datos
 Creación de un proyecto
 Configuración de un proyecto
 Creación del Modelo de Datos
 Generación de la Interfaz Administrativa
 Creación de la interfaz pública (vistas) de una aplicación
 Configuración de la capa de control (URLConf)

2

1

Contenidos

3. Creando aplicaciones Django más sofisticadas (50').









El sistema de plantillas de Django
Gestión de formularios en Django
Gestión de sesiones y usuarios
Vistas genéricas

Descanso (15')
4. Aspectos Avanzados (40').

 Mejora de rendimiento a través de cachés
 Despliegue de aplicaciones Django en Apache
 Uso de motores de bases de datos más escalables (MySQL)
 Soporte de AJAX

Contenidos

5. Google App Engine (90').
 ¿Qué es Google App Engine?
 Instalación de Google App Engine SDK
 Desarrollo de nuestra primera aplicación
 La framework webapp
 Uso de APIs de Google
 Integrando Django y Google App Engine
 Registrando la aplicación

6. Conclusión y Preguntas (15').

3

4

2

¿Qué es Django?

 Django es una framework web en Python de alto nivel
que permite un desarrollo rápido y un diseño limpio y
pragmático.
 Su objetivo principal es facilitar la creación de webs

complejas apoyadas en bases de datos.

 Diseñado por “The World Company” con 2 objetivos:

 Los estrechos límites temporales de una sala de noticias
 Los requisitos impuestos por los propios desarrolladores web.
 Diseñada para que el desarrollador se concentre en la

lógica de negocio y olvide detalles rutinarios

 Django automatiza todo lo posible adhiriéndose al

principio DRY (Don’t Repeat Yourself)

 Permite escribir aplicaciones elegantes de alto

rendimiento y de manera rápida

5

¿Por qué se llama Django?

 Jean “Django” Reinhardt

 Famoso guitarrista de

Jazz belga romaní
 http://en.wikipedia.org/wiki

/Django_Reinhardt

 Ejemplo de su música en:

http://www.youtube.com/w
atch?v=AEzsPGHsi90

6

3

Características Django

 Sigue el patrón de diseño modelo/vista/controlador o

MVC

 Enfatiza la reusabilidad y extensibilidad, el rápido

desarrollo y el principio DRY (Don't Repeat Yourself)

 Provee abstracciones de alto nivel basadas en patrones

de diseño web comunes

 Incluye una interfaz administrativa CRUD (CREATE,

READ, UPDATE y DELETE) generada dinámicamente a
partir del modelo de datos

 Basado en Python

7

Componentes esenciales
Django

1. Un mapeador objeto-relacional que media entre los
modelos de datos (definidos como clases Python) y una
base de datos relacional

2. Un gestor de peticiones web basado en expresiones

regulares que procesan las URLs entrantes

3. Un sistema de vistas para procesar las peticiones

entrantes y

4. Un sistema de plantillado (templates) que asiste en
la visualización de respuestas a las peticiones entrantes.

8

4

Otros componentes de Django

 Un servidor web ligero para desarrollo y prueba de aplicaciones.
 Un sistema de serialización y validación de formularios.
 Una framework de cacheo que puede hacer uso de varios métodos de cacheo.



Soporte para clases middleware que intervienen en diferentes etapas del
procesamiento de una petición y pueden realizan lógica de propósito especial.
 Un sistema de internacionalización que permite el uso de diferentes idiomas y

codificaciones de caracteres
(http://docs.djangoproject.com/en/dev/topics/i18n/?from=olddocs )

 Un modelo de serialización que permite producir y leer XML y representaciones JSON

de instancias de modelos de datos en Django
(http://docs.djangoproject.com/en/dev/topics/serialization/?from=olddocs )

 Un sistema para extender las capacidades del motor de plantillado de Django

(http://docs.djangoproject.com/en/dev/howto/custom-template-tags/)

9

El lenguaje Python

#!/usr/bin/env python
import threading # threading/ejemplothreading.py
import urllib
class FetchUrlThread(threading.Thread):

def __init__(self, url, filename):
threading.Thread.__init__(self)
self.url = url
self.filename = filename

def run(self):

print self.getName(), "Fetching ", self.url
f = open(self.getName()+self.filename, "w")
content = urllib.urlopen(self.url).read()
f.write(content)
f.close()
print self.getName(), "Saved in ", (self.getName()+self.filename)

urls = [ ('http://www.python.org', 'index.html'),
('http://www.google.es', 'index.html') ]

# Recuperar el contenido de las urls en diferentes threads
for url, file in urls:

t = FetchUrlThread(url, file)
t.start()

10

5

Servidor de despliegue

 Django puede ejecutarse sobre Apache 2 bajo

mod_python o sobre cualquier servidor web compatible
con WSGI



“WSGI is the Web Server Gateway Interface. It is a specification for
web servers and application servers to communicate with web
applications (though it can also be used for more than that). It is a
Python standard, described in detail in PEP 333.”

 Django también permite lanzar un servidor FastCGI
 Provee su propio servidor web ligero, ideal para desarrollo

11

¿Quién lo usa?

 lawrence.com – empresa de noticias locales, eventos
 washingtonpost.com – varias aplicaciones

innovadoras web basadas en bases de datos
 Pownce – un portal para enviar mensajes con

contenido a tus amigos

 Tabblo – un portal para compartir fotos
 Listado completo en: http://www.djangosites.org/

12

6

Instalación de Django

1.

2.

3.

Instalar versión 2.3 o superior de Python
 Actualmente la versión es 2.6.1 o 3.0 (incompatible con 2.x)

 Usaremos la 2.6.1 en carpeta downloads del CD

Instalar un servidor web, lo haremos más adelante:
http://www.djangoproject.com/documentation/modpython



Instalar una base de datos: PostgreSQL, MySQL, SQLite y
Oracle





Hay que instalar el driver correspondiente, nosotros usaremos
MySQL y su driver MySQLdb:
http://sourceforge.net/projects/mysql-python/?abmode=1
Por el momento usaremos SQLite, requieres el módulo pysqlite,
que viene de serie con Python a partir de la versión 2.03.

13

Instalación de Django

4.

Instalar Django en 4 pasos:









Descarga la última versión de Django de
http://www.djangoproject.com/download/ (usaremos la version 1.0.2)





http://docs.djangoproject.com/en/dev/releases/1.0/
Portal de documentación en: http://docs.djangoproject.com/en/dev/

En UNIX ejecuta el comando sobre el fichero: tar xzvf Django-1.0.2-
final.tar.gz. En Windows utiliza WinRar, incluido en el CD.
En línea de comando realiza cd Django-1.0.2-final
Ejecuta en UNIX el comando sudo python setup.py install o en
Windows el mismo comando quitando el sudo de delante.



Instalará Django bajo tu instancia de Python dentro del directorio site-packages.

5.

Añade a tu PATH el directorio donde están los comandos de Django:
%DIRECTORIO_INSTALACIÓN_PYTHON%\Lib\site-
packages\django\bin
 Puedes probar que Django está instalando, abrir intérprete de Python y escribir

import django

14

7

Nuestra Primera Aplicación
Django

 Vamos a ver cómo construir una simple

aplicación web que hace uso de una BBDD
 Gestiona encuestas, formulando preguntas,

ofreciendo un conjunto de opciones de respuesta
y gestionando los votos recibidos por cada
respuesta.

 Tomada del tutorial de Django:

http://docs.djangoproject.com/en/dev//intro/tutorial01/#
intro-tutorial01

15

Pasos para construir la
aplicación

1. Definir un modelo de datos en Python
2. Configurar la gestión de peticiones a

través del fichero URLconf

3. Generar la lógica de vistas que procesa los
parámetros de petición recibidos y delega la
respuesta a las plantillas

4. Crear las plantillas usadas para generar las

vistas de usuario.

16

8

Creación del proyecto

 Crear la estructura de ficheros que todo proyecto

alojador de aplicaciones en Django debe seguir
 Ficheros generados corresponden a un conjunto de

configuraciones para una instancia de Django

 Colócate en el directorio del proyecto y escribe en línea

de comandos: django
admin.py startproject
django----admin.py
startproject
admin.py
django
django
admin.py
startproject
startproject
<nombre
<nombre----proyecto>
proyecto>
<nombre
<nombre
proyecto>
proyecto>
 Ejemplo: django-admin.py startproject solopsite.
 Tal utilidad se encuentra en: site-packages/django/bin

17

Revisando la estructura de
directorios



La estructura de directorios creada sería la siguiente:
solopsite/

__init__.py
manage.py
settings.py
urls.py

 Donde:

 __init__.py: un fichero vacío que indica a Python que este directorio es un

módulo.

 manage.py: utilidad administrativa que permite interactuar con el proyecto Django
settings.py: contiene todas las configuraciones para el proyecto Django.
 settings.py
settings.py
settings.py
urls.py: contiene la tabla de contenidos de nuestro proyecto, mapeando patrones
 urls.py
urls.py
urls.py
de URLs entrantes a vistas que respondan a las solicitudes recibidas.

18

9

Arrancando el Proyecto

 Una vez creada la estructura de directorios del proyecto,
podemos ya arrancar el servidor web mediante: python
python
python
python
manage.py runserver
manage.py
runserver. . . .
runserver
manage.py
manage.py
runserver

 Desde un navegador podemos acceder a él yendo a

http://localhost:8000

19

Configurando la BBDD

 Para poder configurar un motor de bases de datos asociado a tu

proyecto Django hay que modificar settings.py
settings.py
settings.py
settings.py

 Habremos de modificar las siguientes variables:

 DATABASE_ENGINE: asocia el string 'postgresql_psycopg2'
  • Links de descarga
http://lwp-l.com/pdf16091

Comentarios de: Django & Google App Engine (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad