Practica #2
Programación Paralela y Distribuida
Maricela Ocaña
PROGRAMACIÓN
WEB CON PYTHON
Para la programación
Web con Python es necesario conocer antes que Python es un lenguaje de programación de alto
nivel que puede ser utilizado en un gran número de áreas, entre ellas las
aplicaciones de escritorio, aplicaciones web, scripts de configuración e
incluso videojuegos.
Para la programación web con Python utilizaremos Django que es un framework de
desarrollo web de código
abierto, escrito en Python,
que respeta el patrón de diseño conocido como Modelo–vista–controlador.
Requerimientos
Django requiere Python 2.7. o superior (Con phyton 3 presenta
problemas). No se necesitan otras bibliotecas de Python para poder obtener una
funcionalidad básica. En un entorno de desarrollo especialmente si queremos experimentar con
Django no necesitamos un web server instalado, ya que Django trae su propio
servidor liviano para éste propósito, con la restricción de solo permitir un
usuario a la vez.
Obtener Django
Para obtener Django se puede:
- Descargar la versión estable
oficial más reciente, desde el sitio oficial http://django.es/descarga/
descomprimir el archivo, debe aparecer una carpeta con el nombre de Django
seguido del número de la versión bajada.
Una vez que se ha obtenido Django, es
momento de instalarlo.
Python y las
variables de entorno en Windows
Debemos asegurarnos de tener Python dentro de las variables de
entorno, esto servirá para poder instalar Django y usarlo fácilmente.
Para poder
editar las variables de entorno deberás hacer lo siguiente:
Una vez que ya
has seleccionado la variable del sistema patch deberás editar y agregar lo
siguiente:
C:\Python27;C:\Python27\Scripts
Instalar
Django
Una vez que se
descomprime el archivo descargado, debemos
descomprimirlo en el Disco C después de eso tenemos que acceder a la carpeta desde una terminal o
ventana de comandos (cmd).
Ya en la
carpeta de instalación de Django, se debe digitar la siguiente instrucción
(Debes de tener permisos de administrador).
Este proceso
tarda unos minutos.
Una vez
terminado el proceso ya tienes Django instalado.
Primer
proyecto
Para crear
nuestro primer proyecto, abrimos una terminal (cmd), nos ubicamos en la carpeta
en donde queremos crear nuestro proyecto y digitamos:
django-admin.py startproject recetario
Esta
instrucción creará dos directorios con el nombre del proyecto (en este caso:
recetario) y 5 archivos distribuidos de la siguiente manera:
- manage.py
- recetario
- __init__.py
- settings.py
- urls.py
- wsgi.py
Para ver que
el proyecto está funcionando en la terminal debemos escribir:
python manage.py runserver
Al ejecutar
esa instrucción debemos visualizar un resultado como el siguiente:
python
manage.py runserver
Abrimos el
navegador web la dirección http://127.0.0.1:8000/ y debemos
ver lo siguiente:
Si
visualizamos esto ya tenemos nuestro proyecto creado.
Primera
aplicación
Para crear
nuestra primera aplicación, desde la terminal (cmd) y en la carpeta del
proyecto, debemos digitar: python
manage.py startapp principal
Esto creará un
directorio y cuatro archivos más, lo que nos dejarían con una estructura de
archivos como esta:
- manage.py
- recetario
- __init__.py
- settings.py
- urls.py
- wsgi.py
- principal
- __init__.py
- models.py
- test.py
- views.py
El poderoso
settings.py
Una parte muy
importante del proyecto es el archivo settings.py, este archivo permite
configurar la conexión a la base de datos, la zona horaria, el idioma, los
directorios principales del proyecto, las aplicaciones del proyecto, entre
otras cosas.
Aprender a
configurar este archivo permite optimizar el funcionamiento del proyecto, veremos
las instrucciones principales a configurar:
Codificación
de caracteres
Nuestro idioma
está lleno de caracteres especiales como las tildes y las eñes que son las más
comunes, la primera sugerencia para manejar esto eficientemente en django
debemos agregar la siguiente línea al archivo settings.py
#encoding:utf-8
Ruta del
proyecto
Una
configuración importante es configurar la ruta del proyecto, esto permitirá
lanzar la aplicación desde cualquier directorio y mover el proyecto a cualquier
computador con Django instalado. Para ello debemos escribir las siguientes
líneas en el archivo settings.py:
#
Identificando la ruta del proyecto
import os
RUTA_PROYECTO
= os.path.dirname(os.path.realpath(__file__))
Ruta del
proyecto
Si no se
configura la ruta del proyecto, cada vez que se cambia de directorio o de PC,
se tendrá que cambiar las rutas de las plantillas, archivos estáticos y
directorio de subida de contenido de los usuarios.
Administradores
Cuando Django
tiene la opción de DEBUG=False, las notificaciones de error de código deben ser
enviadas vía correo electrónico a los administradores, junto con
los detalles completos del error. Para poner los datos de los administradores debemos buscar la siguiente porción:
los detalles completos del error. Para poner los datos de los administradores debemos buscar la siguiente porción:
ADMINS = (
# ('Your Name', 'your_email@example.com'),
)
Y modificarla
para que quede con los nombres de los administradores en forma de tupla, en mi
caso lo dejaré así:
ADMINS = (
('Sergio Infante Montero',
'raulsergio9@gmail.com'),
)
Configuración
de la base de datos
También
podemos configurar la conexión a la base de datos según nuestras necesidades,
Django soporta de manera predeterminada la conexión con postgresql, mysql,
sqlite3 y oracle. En nuestro proyecto usaremos sqlite3.
Debemos buscar
la siguiente sección del archivo:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.', # Add
'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': '', # Or path to database
file if using sqlite3.
'USER': '', # Not used with sqlite3.
'PASSWORD': '', # Not used with sqlite3.
'HOST': '', # Set to empty string for
localhost. Not used with sqlite3.
'PORT': '', # Set to empty string for
default. Not used with sqlite3.
}
}
Y dejarla de
la siguiente manera:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
# Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'recetario.db', # Or path to database file if using
sqlite3.
'USER': '', # Not used with sqlite3.
'PASSWORD': '', # Not used with sqlite3.
'HOST': '', # Set to empty string for
localhost. Not used with sqlite3.
'PORT': '', # Set to empty string for
default. Not used with sqlite3.
}
}
Zona Horaria
Django permite
configurar la zona horaria del proyecto, para mayor facilidad lo puedes
encontrar en wikipedia. Para configurar debemos buscar lo siguiente:
Yo lo
configurare en la zona horaria de America/Mexico, así que lo modificare de la
siguiente forma:
TIME_ZONE =
'America/Mexico'
Configuración
del idioma
Django también
permite configurar el idioma que usará de manera predeterminada para su
funcionamiento, para configurar esto debemos buscar lo siguiente:
yo lo configurare
como español de Mexico:
LANGUAGE_CODE
= 'es-PE'
Aplicaciones
instaladas
Un proyecto en
Django necesita de aplicaciones, algunas ya vienen configuradas de manera
predeterminada. En nuestro proyecto usaremos la aplicación de administración y
su documentación, estas ya vienen construidas, y también nuestra primera
aplicación creada líneas arriba, llamada principal. Para habilitar estas
aplicaciones debemos buscar la siguiente sección que se encuentra casi al final
del archivo settings.py
INSTALLED_APPS
= (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
# Uncomment the next line to enable the
admin:
# 'django.contrib.admin',
# Uncomment the next line to enable admin
documentation:
# 'django.contrib.admindocs',
)
Y modificarlas
de la siguiente manera:
INSTALLED_APPS
= (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
'django.contrib.admindocs',
'principal',
)
Creación de la
base de datos
Hasta el
momento no se ha creado la base de datos o las tablas predeterminadas del
proyecto, solo se ha configurado los parámetros de conexión. Para crear la base
de datos, debemos digitar desde la terminal o ventana de comandos (cmd), la
siguiente instrucción:
python manage.py syncdb
Esta
instrucción deberá mostrar el siguiente resultado:
Hay una
pregunta que debemos responder, se refiere a la creación de un superusuario (un
administrador del proyecto), para lo cual respondemos: yes (en caso de
responder negativamente, no podremos usar inmediatamente el administrador
predeterminado de Django). Luego de ello completamos la información que nos
solicita.
Django
creación del super usuario
Al finalizar
ya estará creada la base de datos, como en este proyecto se usara sqlite3, deberá
aparecer un archivo nuevo llamado recetario.db, este contiene las tablas y los
datos iniciales del proyecto.
Las
direcciones URL del proyecto
Para poder
visualizar los cambios que hicimos y la interfaz administrativa de Django, aún
falta modificar un archivo más, este es: urls.py
Este archivo
contiene lo siguiente:
from
django.conf.urls import patterns, include, url
# Uncomment
the next two lines to enable the admin:
# from
django.contrib import admin
#
admin.autodiscover()
urlpatterns =
patterns('',
# Examples:
# url(r'^$', 'recetario.views.home',
name='home'),
# url(r'^recetario/',
include('recetario.foo.urls')),
# Uncomment the admin/doc line below to
enable admin documentation:
# url(r'^admin/doc/',
include('django.contrib.admindocs.urls')),
# Uncomment the next line to enable the
admin:
# url(r'^admin/',
include(admin.site.urls)),
)
Debemos
dejarlo de esta manera:
from
django.conf.urls import patterns, include, url
from
django.contrib import admin
admin.autodiscover()
urlpatterns =
patterns('',
url(r'^admin/doc/',
include('django.contrib.admindocs.urls')),
url(r'^admin/', include(admin.site.urls)),
)
Ejecución del
proyecto
Una vez que
tenemos todo listo y configurado, debemos nuevamente iniciar el servidor de
desarrollo que tiene el proyecto. Ya hicimos esto al principio, solo debemos
digitar desde la terminal nuevamente:
python manage.py runserver
Lucirá de esta
manera:
Django admin
login
Si todo fue
correcto debemos visualizar la interfaz administrativa:
No hay comentarios:
Publicar un comentario