En este artículo vamos a ver como comenzar tu primer proyecto Django 1.7 desde Linux. En mi caso usaré la distribución Debian 7, si usas otra distribución pude que estás indicaciones varíen ligeramente. Para los nuevos, Django es un Framework para el desarrollo de aplicaciones Web basado en el lenguaje de programación Python. Django es usado por grandes empresas para sus proyectos web como son la NASA, Orange, Mercedes, New york times , etc.


También tenemos dos de las más grandes redes sociales de fotogrfía que fueron desarrolladas con Django: Instagram y Pinterest. Puedes ver una lista de sitios desarrollados con Django el artículo: 10 Django sites que no conocías .


En este tutorial voy a usar la versión de Django 1.7, ahora mismo esta en release candidate RC1, pero quizás cuando leas este artículo haya sido lanzada como estable.

1. Comprobación de la Versión de Python.

Voy a suponer que tienes algo de experiencia en el manejo de la terminal tanto si estas en Linux como en Mac. Por defecto la mayoría de las distribuciones Linux vienen con una versión de Python instalada. Para comprobar que versión de Python tienes instalada solo ejecuta el siguiente comando en una terminal:
$ python
Deberás ver algo como esto:
Python 2.7.3 (default, Jan  2 2013, 13:56:14) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
Bien, esto indica que estas en la consola de Python y que estoy usando la versión 2.7.3. Si por ahora todo va bien puedes pasar al punto 2. Si no pudiste ejecutar el comando python es posible que no lo tengas instalado. Para instalarlo solo debes hacer uso de tu gestor de paquetes favortio, en mi caso aptitude,  e instalarlo con el siguiente comando ( como super usuario root o usando sudo ):
$ sudo aptitude install python2.7
Ahora deberias poder ejecutar el comando python y ver la consola de python como anteriormente indiqué.

2. Instalación de Virtualenv y Pip.

En Python tenemos paquetes. Un paquete en Python es un conjunto de módulos ( archivos Python con extensión .py, es decir, cada archivo Python almacenado en disco equivale a un módulo ) . Los paquetes son tipos especiales de módulos (ambos son de tipo module ) que permiten agrupar módulos relacionados. Mientras los módulos se corresponden a nivel físico con los archivos, los paquetes se representan mediante directorios.  Podríamos tener por ejemplo un paquete utils y dentro del paquete un módulo date que contenga funciones para el manejo de fechas. Estos paquetes los podemos instalar en el directorio de paquetes de tu versión de Python, por defecto en /usr/local/lib/python2.7/site-packages.

Después de esta breve introducción a los módulos y paquetes en Python, vamos a ver que es Virtualenv y para que lo vamos a usar. Virtualenv te  ayuda a crear un entorno virtual de Python donde podrás instalar paquetes independientes de la versión de Python Global. Es decir podemos tener un entorno virtual que se llame entorno_proyecto_coches donde solo tengamos instalados los paquetes que nuestro proyecto necesita y con una versión de Python totalmente independiente de la versión de Python del sistema y sus paquetes. Para instalar virtualenv usaremos el gestor de paquetes de tu distribución, en mi caso:

$ sudo aptitude install python-virtualenv
Una vez intalado podremos hacer uso del comando virtualenv. Para crear un nuevo entorno virtual ejecutamos el siguiente comando:
$ virtualenv env_mi_proyecto
Deberás ver algo como esto en la terminal:
New python executable in pruebas/bin/python
Installing distribute.............................................................................................................................................................................................done.
Installing pip...............done.
env_mi_proyecto es el nombre del entorno virtual que acabamos de crear, puedes ponerle cualquier nombre sin espacios. Esto nos creará una carpeta de nombre env_mi_proyecto , que será nuestro entorno virtual. Una vez tenemos creado nuestro entorno virtual debemos activarlo para comenzar a trabajar en el, para ello entramos a la carpeta del entorno virtual y ejecutamos el archivo "activate" :
$ cd env_mi_proyecto
$ source bin/activate
(env_mi_proyecto)$
Como puedes ver si todo esta correcto, el prompt de la terminal ha cambiado a (env_mi_proyecto), esto indica que estamos trabajando sobre ese entorno virtual. Si observas las lineas de la creación del entorno virtual podrás observar que se ha instalado "pip" ( Installing pip...............done.) . Pip es el gestor de paquetes de Python , al igual que aptitude o apt-get puedes instalar paquetes con el comando pip install nombre_paquete, buscar paquetes con el comando pip search nombre_paquete o listar los paquetes instalados con el comando pip freeze . Recuerda que como tenemos activado nuestro entorno virtual, los paquetes que instalemos solo lo harán sobre este entorno.

3. Instalación de Django 1.7.

En este punto ya deberías tener tu entorno virtual activado y estar dentro de la carpeta de este. Para instalar Django 1.7 usaremos como hemos visto anteriormente el gestor de paquete pip . A día de hoy Django 1.7 aun no es estable por lo tanto no está en la lista de paquetes del repositorio de python. Deberemos instalarlo con el siguiente comando:
(env_mi_proyecto)$ pip install https://www.djangoproject.com/download/1.7.b4/tarball/
[....]
Successfully installed django
Cleaning up...
Es posible que cuando leas este post ya se haya lanzado la versión 1.7 como versión estable. Por lo tanto solo tendrías que ejecutar:
(env_mi_proyecto)$ pip install django
[....]
Successfully installed django
Cleaning up...
Si ves la linea "Successfully installed django" significa que todo está Ok.

4. Creación de tu primer proyecto Django.

Ya estamos apunto de crear nuestro primer proyecto Django. Django nos proporciona el comando django-admin.py para manejar nuestros proyectos django. Creación de un nuevo proyecto Django:
(env_mi_proyecto)$ django-admin.py startproject mi_proyecto
(env_mi_proyecto)$ ls
bin  include  lib  local  mi_proyecto
Si realizas un listado de los archivos que tienes dentro de tu entorno virtual observarás que el comando startproject ha creado la carpeta "mi_proyecto" , está es la carpeta de tu proyecto Django.

5. Arrancando el servidor de Desarrollo.

Hasta aquí ya tienes creado tu primer proyecto Django . Vamos a comprobar que todo ha salido bien corriendo el servidor web de desarrollo que incluye Django. Para ello seguimos con el entorno virtual activado y entramos a la carpeta de nuestro proyecto.
(env_mi_proyecto)(env_mi_proyecto)$ ls
bin  include  lib  local  mi_proyecto
(env_mi_proyecto)$ cd mi_proyecto
En Django 1.7, deberemos crear la base de datos con las tablas que Django necesita antes de arrancar el servidor. Por defecto, Django creara una base de datos local usando Sqlite3, solo recomendable para realizar pruebas y desarrollo, no para producción. Para crear las bases de datos a diferencia de Django 1.6, usamos:
(env_mi_proyecto)$ python manage.py migrate
En este punto ya tenemos la base de datos de nuestro primer proyecto creada. Ahora ya podemos arrancar el servidor. Ahora solo debemos ejecutar el comando python manage.py runserver:
(env_mi_proyecto)$ ls
manage.py  mi_proyecto
(env_mi_proyecto)$ python manage.py runserver
Performing system checks...

System check identified no issues (0 silenced).
June 05, 2014 - 06:30:44
Django version 1.7b4, using settings 'gestion.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
Perfecto! Ya tenemos nuestro servidor de desarrollo corriendo en nuestra máquina local, http://127.0.0.1:8000/. A continuación entramos a 127.0.0.1:8000 en nuestro navegador deberemos ver algo así: django-congrats

Si ves algo como la imagen anterior , ¡Enhorabuena!, ya tienes tu primer proyecto Django creado y listo para que empieces a programar sobre el. Este tutorial solo comenta los conceptos básicos de la instalación de Django 1.7 en una máquina Linux.

Si quieres que siga publicando tutoriales sobre Django y avance en la creación de un proyecto funcional deja tus comentarios aquí debajo. ¿Quieres conseguir realizar una aplicación completa en Django con un profesor que te lo explique todo? No te pierdas nuestro curso Online de Desarrollo Básico con Django , impartido por Juan Pablo Martín Cobos, contribuidor oficial del desarrollo de Django. REGISTRATE EN EL CURSO AQUÍ