martes, 18 de agosto de 2015

Practica No.2 Programación Web en Python

Actualmente el poder realizar aplicaciones web es un requisito indispensable en cualquier lenguaje que quiera tener un lugar en la industria y Python no es la excepción, existen una gran cantidad de frameworks que permiten realizar aplicaciones web en Python, desde los más sencillos hasta los más complicados, pero entre todos ellos el que se considera el más completo y robusto es el framework Django. 

En este post vamos a realizar la instalación del framework bajo la plataforma de Windows y hacer un ejemplo sencillo para asegurarnos de que todo esté en orden, primero que nada vamos a hacer a darnos una pequeña idea de lo que es Django. 

¿Qué es Django? 

Django es un framework web de alto nivel, escrito en Python, que ayuda al desarrollo rápido y a un diseño limpio y pragmático. Construido por desarrolladores experimentados, resuelve una buena parte de los problemas del desarrollo web de tal manera que uno se pueda enfocar en escribir su app sin necesidad de reinventar la rueda. Es gratis y de código abierto. 

Django pone énfasis en el re-uso, la conectividad y extensibilidad de componentes, el desarrollo rápido y el principio No te repitas (DRY, del inglés Don’t Repeat Yourself). Python es usado en todas las partes del framework, incluso en configuraciones, archivos, y en los modelos de datos. Al igual que otros frameworks de desarrollo web, Django también trabaja con el patrón MVC (Modelo Vista Controlador). 

Instalación del Django 

Para instalar Django en la plataforma de Windows primero necesitamos tener instalado Python, para esto solo hay que bajar el instalador apropiado del sitio oficial aquí, de acuerdo a nuestro sistema operativo, una vez que hemos terminado la instalación de Python necesitamos verificar que las variables de entorno de del sistema estén correctamente agregadas y aparezcan las siguientes:

"C:\Python27;C:\Python27\Scripts"

Si las variables no están correctas, podemos agregarlas de forma manual con cuidado, después de verificar lo anterior hay que descargar la paquetería setuptools, este paquete permite gestionar los paquetes propios de Python, para ello entramos a la página oficial aquí y buscamos la opción Windows (simplified), descargamos el archivo ez.setup.py  y lo ejecutamos, si nuestras variables de entorno son correctas, se ejecutara la línea de comandos de Python y se instalara el paquete.

Una vez instalado el paquete anterior simplemente ingresamos en una terminal el siguiente comando y la instalación se realizara rapidamente:

pip install Django

Para verificar que todo esté en orden verificamos con el siguiente comando desde la línea de comando de Python y la salida debera ser parecida a la imagen solo cambiando la version de Django instalada.


Ejemplo del Funcionamiento del Django

Primero que todo tenemos realizar una configuración inicial. Esto es, necesitamos auto-generar código que define un proyecto Django (conjunto de configuraciones para una instancia de Django, incluyendo configuración de base de datos). Para realizar esto desde línea de comando nos ubicamos en el directorio donde queramos crear nuestro proyecto y ejecutamos el comando:
 
django-admin.py startproject ejemplo
Starproject crea dos directorios y un conjunto de archivos distribuidos de la siguiente manera:
  • ejemplo/: El directorio externo ejemplo/ es solo el contenedor del proyecto. No importa para Django por lo que podemos renombrarlo si queremos.
  • manage.py: Una utilidad en línea de comando que nos permite interactuar con el proyecto Django de diversas formas. No debemos editarlo de ninguna manera.
  • ejemplo/ejemplo/: El directorio interno ejemplo/ es el paquete Python actual del Proyecto, es usado para importar cualquier cosa dentro de él.
  •  __init__.py: Un archiva requerido por Python para tratar el directorio ejemplo como paquete.
  • settings.py: Configuración para este proyecto Django.
  •  urls.py: Las URLs para este proyecto Django; una "tabla de contenidos" de tu sitio basado en Django.
  • wsgi.py: Un punto de entrada para servidores web compatibles con WSGI.
Para asegurarnos de que nuestro proyecto esté funcionando entrar al directorio ejemplo/ y ejecutar el comando:
 
python manage.py runserver
.
Con lo cual debemos ver una salida como la siguiente si es que todo salió bien


Finalmente accedemos a la dirección IP http://127.0.0.1:8000/ con la cual accederemos a la página de bienvenida del servidor Django.


Aquí hay que aclarar algo importante este servidor tiene como objetivo solo ser un entorno de desarrollo, no de producción, por lo que no debe ser utilizado a nivel empresarial.

Ahora vamos a crear el archivo que necesitamos para implementar una parte del modelo MVC con el que trabaja el framework Django, para esto creamos un archivo llamado views.py en el directorio ejemplo/ejemplo el contenido de este archivo es el siguiente:
 
from django.http import HttpResponse

def hello(request):
    return HttpResponse("Hello world")
El objetivo del archivo views.py es tener funciones de Python que reciban un HttpRequest como primer parámetro (puede tener más parámetros) y regrese una instancia de HttpResponse, que se despliega como una pagina web.

Para que podamos observar nuestro Hello World en el navegador necesitamos asignarle una dirección URL a la función hello de la clase views, de esta manera a cada URL o página desplegada se le asigna una función que desplegara su contenido. Vamos a modificar el archivo urls.py de la siguiente manera:
 

from django.conf.urls import include, url
from django.contrib import admin
from Ejemplo import views

urlpatterns = [
   url(r'^admin/', include(admin.site.urls)),
   url(r'^$', views.hello, name='hello')
]
De esta manera al acceder a la dirección IP http://127.0.0.1:8000/ en vez de desplegarse en pantalla el mensaje de bienvenida de Django se desplegara nuestro Hello World. Con esto terminamos nuestro pequeño ejemplo con Django hay muchas más cosas que podemos realizar con el pero esto es solo una primera aproximación a todo lo que nos brinda.

No hay comentarios.:

Publicar un comentario