Desarrollo de aplicaciones web con Python y
Django
De cero a ciento y pico en poco tiempo
Villaverdux 2013
Jesús M. González Barahona
[email protected]
http://identi.ca/jgbarah http://twitter.com/jgbarah
GSyC/LibreSoft, Universidad Rey Juan Carlos
Villaverde (Madrid), 29 de mayo de 2013
Jesús M. González Barahona
Desarrollo de aplicaciones web con Python y Django De cero a ciento y pico en poco tiempo
c2011-2013 Jesús M. González Barahona.
Algunos derechos reservados.
Este artículo se distribuye bajo la licencia
“Reconocimiento-CompartirIgual 3.0 España” de Creative
Commons,
disponible en
http:
//creativecommons.org/licenses/by-sa/3.0/es/deed.es
Jesús M. González Barahona
Desarrollo de aplicaciones web con Python y Django De cero a ciento y pico en poco tiempo
¿En qué vamos a malgastar el próximo rato?
Haremos un servidor web sencillito
Hablaremos con él
Lo complicaremos un poco
Esconderemos la complicación, complicando más las cosas
Volveremos a hablarle
Si da tiempo, haremos Ajax y todo...
Jesús M. González Barahona
Desarrollo de aplicaciones web con Python y Django De cero a ciento y pico en poco tiempo
Un servidor web muuuuuuuuuuuuy sencillo
python -m SimpleHTTPServer
http://docs.python.org/2/library/simplehttpserver.html
Jesús M. González Barahona
Desarrollo de aplicaciones web con Python y Django De cero a ciento y pico en poco tiempo
Un servidor web muuuuuuy sencillo
servidor-http-simple.py
import socket
mySocket = socket.socket(socket.AF_INET,
socket.SOCK_STREAM)
mySocket.bind((’localhost’, 1234))
mySocket.listen(5)
while True:
(recvSocket, address) = mySocket.accept()
print recvSocket.recv(1024)
recvSocket.send("HTTP/1.1 200 OK\r\n\r\n" +
"<html><body><h1>Hello!</h1></body></html>" +
"\r\n")
recvSocket.close()
Para ejecutarlo:
python servidor-http-simple.py
Jesús M. González Barahona
Desarrollo de aplicaciones web con Python y Django De cero a ciento y pico en poco tiempo
¿Cómo hablamos con él?
Pues desde un navegador... (probamos con Firefox)
O desde un plugin específico (probamos Firebug de Firefox)
Pero también podemos ver qué nos dice
O hablar HTTP “a pelo” (desde un telnet)
telnet localhost 1234
O pedirle al amigo curl que hable por nosotros
curl http://localhost:1234/
O al amigo wget
wget http://localhost:1234/
Y podemos espiar cualquier conversación con wireshark...
Jesús M. González Barahona
Desarrollo de aplicaciones web con Python y Django De cero a ciento y pico en poco tiempo
Un caza-robots
servidor-http-random.py
import socket
import random
mySocket = socket.socket(socket.AF_INET,
socket.SOCK_STREAM)
mySocket.bind((’localhost’, 1234))
mySocket.listen(5)
random.seed()
while True:
(recvSocket, address) = mySocket.accept()
print recvSocket.recv(1024)
nextPage = str (random.randint (0,10000))
nextUrl = "http://localhost:"+str(myPort)+"/"+nextPage
htmlBody = "<p>Next page: <a href="’ \
+ nextUrl + ’">’ + nextPage + "</a></p>"
recvSocket.send("HTTP/1.1 200 OK \r\n\r\n" +
"<html><body>" + htmlBody + "</body></html>" +
"\r\n")
recvSocket.close()
Jesús M. González Barahona
Desarrollo de aplicaciones web con Python y Django De cero a ciento y pico en poco tiempo
Y ahora con Django
cd myproject
python manage.py runserver 1234
Una aplicación realmente simple: myproject
http://localhost:1234/
http://localhost:1234/hello
http://localhost:1234/bye/Maria
http://localhost:1234/number/3
Un gestor de contenidos bien simple: cms_users
Jesús M. González Barahona
Desarrollo de aplicaciones web con Python y Django De cero a ciento y pico en poco tiempo
Y el no va más: ¡un poco de Ajax!
Una página que genera frases:
sentences_generator.html
JavaScript encastrado en el HTML
Se ejecuta en el navegador al cargar la página
Una aplicacioncilla Ajax (bien simple):
words_provider
http://localhost:1234/apps/sentences_generator.html
Sevidor Django que sirve:
Una página HTML con JavaScript encastrado
Un canal con partes de frases
Se ejecuta el JavaScript en el navegador
Pide partes de frases al servidor
Muestra el resultado
Jesús M. González Barahona
Desarrollo de aplicaciones web con Python y Django De cero a ciento y pico en poco tiempo
Algunas URLs
Python: http://python.org
Django: http://djangoproject.com
Para aprender Python (por ejemplo):
Dive into Python
http://diveintopython.org
Para aprender Django (por ejemplo):
The Django Book
http://djangobook.com/
“Tecnologías y Servicios para Aplicaciones en Internet”,
asignatura con materiales libremente accesibles,
su temario incluye el contenido de esta presentación
http://docencia.etsit.urjc.es/moodle/course/view.php?id=3
Jesús M. González Barahona
Desarrollo de aplicaciones web con Python y Django De cero a ciento y pico en poco tiempo
Comentarios de: Desarrollo de aplicaciones web con Python y Django De cero a ciento y pico en poco tiempo (0)
No hay comentarios