Un elemento que nos será de gran utilidad para desarrollar en Django es Virtualenv. Virtualenv nos permite liberar las dependencias python de nuestro proyecto Django de los recursos que tenemos en nuestro sistema. Esto nos permite trabajar, por ejemplo, con la versión Django 1.7, mientas que en el sistema tenemos instalado django 1.6.

Además, facilita la migración del proyecto de una máquina a otra, al mantener todo el registro de las dependencias instaladas y proporcionar un comando para descargarse dichas dependencias en caso de no tenerlas.

Instalando Django con VirtualEnv

Para montar el entorno, en primer lugar necesitaré instalar virtualenv, para lo que necesito la herramienta pip (Python Package Index).

Suponiendo que partimos de un Debian (en ubuntu e incluso OSX debería ser similar) recién instalado, por lo que para instalar pip, deberemos instalar antes otra herramienta de Python denominada easy_install (ver más info):

miusuario$ sudo apt-get update 

miusuario$ sudo apt-get install build-essential python-dev python-setuptools


Ahora ya podemos instalar el pip, y lo usamos para actualizarlo.

miusuario$ sudo easy_install pip

miusuario$ sudo pip install –upgrade pip


Instalamos ahora el virtualenv desde el Python Package Index

miusuario$ sudo pip install virtualenv


Otra herramienta que podemos instalar, que simplifica los comandos de virtualenv, es el virtualenvwrapper, pero de momento nos centraremos en usar virtualenv.

Creamos un nuevo entorno virtual de trabajo

miusuario$ virtualenv mientorno


Nos creará una carpeta con una estructura similar a la carpeta de sistema /usr/

Entramos en ella

miusuario$ cd mientorno


Activamos el entorno virtual. Mientras esté activo, todo lo que instalemos con pip, afectará únicamente a éste entorno de trabajo.

miusuario$ source bin/activate


Instalamos Django. Recordemos que sólo estará disponible para este entorno virtual. Si no especificamos la versión, nos instalará la versión estable más actual.

(mientorno)$ pip install django



Primer proyecto en Django


Tras instalar Django, podremos usar por terminal el programa django-admin.py.
Para crear un nuevo proyecto de django con la estructura de carpetas adecuada, simplemente usamos django-admin.py com el comando startproject

(mientorno)$ django-admin.py startproject miproyecto


Dentro del proyecto de Django creado, está el script manage.py, que nos permitirá realizar distintas acciones sobre nuestro proyecto, como por ejemplo lanzar el servidor de desarrollo o sincronizar la base de datos. Por comodidad cambiaremos su permiso para que sea ejecutable.

(mientorno)$ cd miproyecto

(mientorno)$ chmod +x manage.py

Esto nos permite ejecutar directamente el archivo manage.py, en lugar de tener que invocarlo con python (es decir, en lugar de $ python manage.py args, ahora podremos hacer directamente $ ./manage.py args)

Veamos como funciona:

(mientorno)$ ./manage.py runserver


Con esto habremos lanzado el servidor de desarrollo (para producción utilizaremos un entorno más sofisticado), que es suficiente para comprobar el funcionamiento de nuestra aplicación mientras trabajamos en ella.

Podemos ver que el servidor está funcionando si abrimos el navegador y vamos a la dirección que nos ha aparecido, típicamente http://127.0.0.1:8000/ , donde deberíamos ver lo siguiente:

Otras utilidades que interesa instalar

Instalaremos
  • South
  • Django-registration
  • Stripe

(mientorno)$ pip install south django-registration stripe


…EN PROCESO…