Ver Mensaje Individual
  #3 (permalink)  
Antiguo 06/06/2011, 09:00
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: [Aporte] Django Tutorial [Introducción]

Iniciando
Django es "solo" código en Python y como Python corre donde sea - incluyendo celulares! Pero este capitulo solo cubre escenarios comunes para instalaciones de Django. Vamos a asumir que estas instalándolo en un escritorio/laptop o servidor.

Después (Varios capítulos mas adelante) veremos como llevar a producción un sitio hecho con Django.

Instalando Python
En si mismo Django esta escrito completamente en Python, entonces el primer paso en instalar el framework es estar seguro que Python esta instalado.

Versiones de Python
El núcleo del framework Django funciona con cualquier version de Python desde la 2.3 hasta la 2.7, dependiendo de la versión del framework las versiones mas recientes están dejando de dar soporte a las versiones mas antiguas de Python. Por eso te recomendamos usar de python 2.5 en adelante.

Si no estas seguro cual versión de Python instalar y tienes la libertad de decidir que versión instalar, entonces te recomendamos instalar la ultima versión de la serie 2.x. A pesar de que Django trabaja igual con cualquier versión de Python, las ultimas versiones de Python tienen mejoras de rendimiento y características adicionales del lenguaje que tal vez te guste usar en tus aplicaciones. Ademas existen add-ons (o extensiones) de terceros para Django podrían requerir versiones mas nuevas que las versiones 2.3 o 2.4

Django y Python 3.x
Como saben Python esta en un proceso de transición donde Python 3.x intenta desplazar las versiones 2.x, como ya saben cada versión de Python que cambia en su primer dígito tiene cambios importantes y ademas no es compatible con versiones anteriores, por lo que muchas aplicaciones se tienen que reescribir y eso incluye a Django.

Actualmente Django no corre completamente en python 3.x, afortunadamente esto se ha estado planeando y desarrollando por años así que esperamos que muy pronto Django se pueda correr completamente en versiones de Python 3.x

Instalacion
Si estas corriendo Linux o Mac OS X, probablemente ya tienes Python instalado. Solo escribe python en tu consola (terminal o linea de comandos) favorita. Si vez algo parecido a esto, entonces tienes Python instalado en tu sistema.
Código:
Python 2.6.5 (r265:79096, Mar 19 2010, 21:48:26) [MSC v.1500 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
Si eres un usuario del sistema operativo windows, lo mas probable es que no tengas instalado python.
De cualquier forma, si necesitas descargar python puedes hacerlo desde aqui http://www.python.org/download/. Las instrucciones son rápidas y fáciles de seguir.
Si estas en windows, te recomiendo bajarte el .exe o .msi ya que compilarlo puede ser algo complicado (por lo menos en windows).
En cambio si te encuentras en linux y tienes un administrador de paquetes te recomiendo usarlo ya que regularmente los módulos para python también puedes instalarlo desde tu administrador de paquetes. Ademas estos paquetes son elegidos para que trabajen de una manera optima con tu distribución también regularmente tienes actualizaciones para estos paquetes. Pero si no cuentas con un administrador de paquetes siempre puedes descargate el código fuente, compilarlo e instalarlo.

Instalando Django
Django tiene tipicamente 2 versiones disponibles: La ultima versión oficial lanzada y la versión experimental llamada "trunk". La versión que decidas instalar depende en tus prioridades. ¿Quieres una versión estable y probada de Django o quieres una versión que tenga las ultimas características y probablemente puedas contribuir al mismo framework Django, a costo de la estabilidad?

Nosotros te recomendamos que te pegues a las versiones oficiales (o estables), pero también es importante saber que la versión "trunk" (o versión en desarrollo) existe.



Instalando la version oficial
La ultima versión en el momento que escribo este tutorial, es la versión 1.3. Para descargar la ultima versión puedes visitar https://www.djangoproject.com/download/

Para los usuarios linux que tengan administrador de paquetes pueden instalar Django desde su administrador de paquetes, por lo regular la versión de Django que instala es una versión estable.

Si no tienes acceso a un administrador de paquetes, puedes descargar e instalar Django manualmente.
Para hacer eso visiten la pagina anterior y bajen la ultima versión, después corran estos comandos.
Código:
tar xzvf Django-<versión>.tar.gz #Suponiendo que estan en el directorio donde lo descargaron
cd Django-*
sudo python setup.py install
Y listo a disfrutar Django.


Probando Django
Para saber que efectivamente instalamos Django, abrimos el interprete dinámico de Python y escribimos lo siguiente:
Código:
import django
django.VERSION
Ajustando las bases de datos
Para trabajar con Django no es necesario tener una base de datos, pero Django tiene muchas funciones que requieren tener una base de datos y seguramente también te interesara guardar, obtener, actualizar y borrar datos así que por eso es tan necesaria una base de datos.

Django soporta 4 motores para base de datos:
Si no estas atado a algún sistema viejo y tienes la libertad de escoger una base de datos te recomendamos PostgreSQL, que logra tener un buen balance entre costo, características, velocidad y estabilidad.

Ajustar la base de datos es proceso de 2 pasos:
  • Primero, vas a necesitar instalar y configurar el servidor de base de datos. Es proceso va mas allá del alcance de este tutorial, pero afortunadamente estos 4 motores que soporta Django tienen mucha documentación, una gran comunidad en cada una de estas y la mayoría de estas son fáciles de instalar.
  • Segundo, vas a necesitar instalar una librería de python que te permita conectarte a tu base de datos.

Si solo estas jugando o probando Django y no quieres instalar una base de datos te recomendamos usar SQLite. SQLite es el único motor de base de datos que soporta Django que no requiere de ninguna instalación, claro eso si estas usando una versión de Python 2.5 en adelante.

En windows, obtener una libreria para trabajar con una base de datos puede ser frustante, afortunadamente existe una lista de librerías para python hechas binarios (.exe) que puedes conseguir aquí http://www.lfd.uci.edu/~gohlke/pythonlibs/

Librerías de python recomendadas para conectarnos a la base de datos:
  • PostgreSQL: psycopg2
  • SQLite3: No requerido para python 2.5 en adelante.
  • MySQL: MySQLdb
  • Oracle: cx_Oracle

Empezando un proyecto
Una vez instalado python, Django y opcionalmente la librería para conectarnos a la base de datos, puedes dar el primer paso en desarrollar una aplicación en Django que es crear un proyecto

Un proyecto es una colección de ajustes para una instancia de Django, incluyendo: Configuración de la base de datos, opciones especificas de Django y la aplicación.

NOTA: Para fines prácticos, no pongas tu código de Python en el document root.

Lo primero que vamos hacer es crear un directorio (o carpeta) y correr el siguiente comando: django-admin.py startproject mysite
Esto va a crear una carpeta llamada mysite en tu actual directorio.

NOTA: Para los usuarios unix django-admin.py debe se estar en el "path" de tu sistema y ademas debe de tener permisos de ejecución esto en caso que hallas instalado Django de manera manual. Si lo instalaste desde un administrador de paquetes probablemente el comando no se llame django-admin.py si no django-admin . Si estas usando windows muy probablemente tengas que añadir python al path y luego ejecutar lo siguiente python C:\ruta\a\django\django-admin.py mysite . De cualquier manera te recomendamos que instales eclipse + pydev para que sea mas fácil trabajar en tu proyecto.

Una vez que comenzamos con nuestro proyecto tenemos una estructura mas o menos así:
Código:
mysite/
    __init__.py
    manage.py
    settings.py
    urls.py
  • __init__.py: Un archivo que requiere Python para que la carpeta mysite pueda ser tratado como un paquete. Es un archivo vació y generalmente no vamos añadir nada en el.
  • manage.py: Es una utilidad de la linea de comando, con este archivo vamos a interacturar con el proyecto de varias maneras. Intenta con python manage.py help para darte una idea de lo que puedes hacer. Nunca, pero nunca debes de editar este archivo.
  • settings.py: Ajustes/configuraciones para el proyecto. Hechale un vistazo a los diferentes tipos de configuraciones disponibles y a sus valores por default.
  • urls.py: Las URLs del proyecto están en este archivo. Básicamente esto es una "table de contenidos" para tu proyecto. Por el momento esta vació.
A pesar de su tamaño, estos archivos constituyen una aplicación completamente funcional.

Última edición por razpeitia; 27/06/2011 a las 21:39