En esta oportunidad quiero compartir el trabajo realizado en la web maestrosdelweb, el cual me ha parecido un trabajo muy valioso, muy explicativo.
REQUISITOS PARA SU INSTALACIÓN
Django es un framework hecho en Python, por lo tanto se necesita que hayas previamente instalado Python (2.6 o 2.7) y tengas a la mano tu editor de texto favorito. Si no sabes que editores de texto usar, o como instalar Python lee la primera parte de la Guia Python, con esto es suficiente para empezar a trabajar.
NOTA: DJANGO Y PYTHON 3.0
Django no funciona con Python 3.0 actualmente, debido a incompatibilidades con el intérprete de Python.
Al estar hecho en Python, sería bueno tener en cuenta la sintaxis y fundamentos de este lenguaje, así que si aún no lo sabes y quieres reforzar tus conocimientos, revisa la guía de Python primero antes de continuar con esta, o da un vistazo a este video de mejorando.la
OBTENER DJANGO
Para obtener Django se puede:
- Descargar la versión estable oficial más reciente, desde el sitio oficial de Django y descomprimir el archivo, debe aparecer una carpeta con el nombre de Django seguido del número de la versión bajada. (Para esta guía usaremos la versión 1.4)
- Obtener la versión de desarrollo desde el repositorio de Django, para ello se debe usar Subversión, de esta manera:
svn co http://code.djangoproject.com/svn/django/trunk/
Una vez que se ha obtenido Django, es momento de instalarlo.
PYTHON Y LAS VARIABLES DE ENTORNO EN WINDOWS
Los usuarios de Windows deben asegurarse de tener Python dentro de las variables de entorno, esto servirá para poder instalar Django y usarlo fácilmente. Si no sabes como hacerlo, mira el siguiente vídeo:
INSTALAR DJANGO
Una vez que se descomprime el archivo descargado, debemos acceder a la carpeta desde una terminal o ventana de comandos (en caso de los usuarios de Windows). Suponiendo que la versión que elegimos es la 1.4, se tendría que digitar:
cd Django-1.4
Ya en la carpeta de instalación de Django, se debe digitar la siguiente instrucción: (Debes de tener permisos de administrador)
python setup.py install
Si usas Ubuntu GNU/Linux, sería algo así:
sudo python setup.py install
Listo eso es todo, ya tienes Django instalado. Si se desea mayor información de como instalarlo o quizás algunas otras opciones, siempre está la documentación del mismo proyecto para guiarnos. Aquí pueden encontrar la Guía completa de instalación de Django.
Si usas OS X Lion, quizás lo más recomendado sería instalar Django usando pip:
Primero, debemos tener Setup Tools para instalarlo, lo descargamos, lo descomprimimos y dentro del directorio (via el terminal)
Primero, debemos tener Setup Tools para instalarlo, lo descargamos, lo descomprimimos y dentro del directorio (via el terminal)
sudo python setup.py install
Una vez con Setup Tools instalado usamos pip:
sudo pip install Django
PRIMER PROYECTO
Antes de empezar es bueno aclarar que la versión que vamos a utilizar en esta guía es la más reciente (1.4), y varias cosas han cambiado, la información que podrían encontrar en Internet probablemente se encuentre desactualizada.
Para crear nuestro primer proyecto, abrimos una terminal (o ventana de comandos si asi lo conoces en windows), 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:
Abrimos el navegador web la dirección http://127.0.0.1:8000/ y debemos ver lo siguiente:
Ya tenemos nuestro proyecto creado.
En el caso de que nos salga un error porque el puerto asignado esta en uso como la siguiente imagen:
sólo debemos indicar que puerto usaremos para lanzar el servicio, por ejemplo si se desea usar el puerto 8888 entonces se tendría que digitar:
python manage.py runserver 8888
Usaríamos la dirección http://127.0.0.1:8888/ y tendríamos como resultado lo siguiente:
Cada proyecto necesita de aplicaciones donde se puedan gestionar los modelos y las vistas. Un proyecto puede tener muchas aplicaciones:
PRIMERA APLICACIÓN
Para crear nuestra primer aplicación, desde la terminal 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ía 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 esta 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 = ( ('Nombre y Apellidos', '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, la lista de zonas horarias disponibles se pueden encontrar en la wikipedia. Para configurar debemos buscar lo siguiente:
TIME_ZONE = 'America/Chicago'
Yo lo configurare en la zona horaria de Lima/Perú, así que lo modificare de esta forma:
TIME_ZONE = 'America/Lima'
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:
LANGUAGE_CODE = 'en-us'
Se puede consultar la lista de idiomas disponibles para adecuarlo a nuestras necesidades, yo lo configurare como español de Perú:
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', )
OTRAS OPCIONES DE SETTINGS.PY
Existen otras configuraciones que iremos modificando durante el desarrollo del curso, como el directorio de plantillas, el contenido estático, los archivos cargados por los usuarios, entre otras. Por ahora con estas instrucciones tenemos lo básico para continuar con nuestro proyecto.
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 parametros de conexión. Para crear la base de datos, debemos digitar desde la terminal o ventana de comandos, la siguiente instrucción (recordar que debemos estar en la carpeta de proyecto para que todo se realice correctamente):
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.
Al finalizar ya estará creada la base de datos, como en este proyecto se usara sqlite3, debera 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 mas, este es: urls.py (recordar que este archivo se encuentra dentro del directorio recetario). 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 (dentro del directorio del proyecto):
python manage.py runserver
Lucirá de esta manera:
Nos muestra un error 404, luego veremos el por qué. Para ingresar a la interfaz administrativa que ya viene construida con Django, ingresaremos a la dirección: http://127.0.0.1:8000/admin, en donde debemos poner el nombre del superusuario y su respectiva contraseña, creados anteriormente (líneas arriba) con la opción syncdb.
Si todo fue correcto debemos visualizar la interfaz administrativa:
Nuestro primer proyecto ya se encuentra configurado para continuar con la construcción de los modelos. Sin embargo antes de ello debemos entender como funciona Django, ese será nuestro próximo capítulo: Entendiendo como trabaja Django.
REPOSITORIO DEL PROYECTO
El proyecto se encuentra en github por si te perdiste de algo y deseas ver algún archivo del mismo.
No hay comentarios:
Publicar un comentario