Python

Enlaces

Aprendizaje

Módulos interesantes

Entorno Django

Para tener un entorno aislado (sin depender con los paquetes y versiones del sistema), instalar primero pip de Python3. Se puede hacer instalando el paquete python3-pip de Ubuntu, pero dado que interesa actualizar a la última versión, es mejor instalarlo de forma independiente bajando el script get-pip.py de aquí ejecutándolo así:

$ sudo python3 get-pip.py

Después ejecutar en terminal:

$ sudo pip3 install virtualenv
$ virtualenv --python=`which python3` djangodev
$ source djangodev/bin/activate
(djangodev) $ pip install Django

Cada vez que se quiera adaptar el entorno de la sesión del terminal a este entorno aislado, hay que ejecutar el penúltimo comando anterior (source).

Creación de proyecto Django

Desde el directorio donde queremos que se cree ejecutamos:

(djangodev) $ django-admin startproject project01

Creación de aplicación Django

Desde el directorio del proyecto (donde se encuentre el fichero manage.py) ejecutamos:

(djangodev) $ python manage.py startapp app01

Para incorporar los modelos de la nueva aplicación al mantenimiento automático que proporciona el módulo admin de Django, hay que incorporar al fichero project01/settings.py lo siguiente en la sección INSTALLED_APPS:

INSTALLED_APPS = [
    'app01.apps.App01Config',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

Luego ejecutamos el siguiente comando para generar las migraciones a partir de los modelos definidos en la app:

(djangodev) $ python manage.py makemigrations app01

Finalmente ejecutamos las migraciones propiamente dichas:

(djangodev) $ python manage.py migrate

Para poder utilizar el módulo admin de Django, hay que crear al menos un usuario:

(djangodev) $ python manage.py createsuperuser

Gestión de migraciones

Una vez generadas las migraciones, si queremos obtener el código SQL a que equivalen hay que ejecutar el comando (en el ejemploo solicitamos el código correspondiente a la migración 0008):

(djangodev) $ python manage.py sqlmigrate app01 0008

Para situarnos en un punto concreto de la serie de migraciones (deshaciendo por tanto las posteriores cuyos ficheros se podrán borrar):

(djangodev) $ python manage.py migrate app01 0010

Para mostrar los nombres de todas las migraciones (si no ponemos el nombre al final se muestran las de todo el sitio):

(djangodev) $ python manage.py showmigrations app01

Para deshacer todas las migraciones:

(djangodev) $ python manage.py migrate app01 zero

Directorio instalación Django

Para averiguar dónde están los ficheros de Django, ejecutar el siguiente comando:

(djangodev) $ python -c "import django; print(django.__path__)"

Tutorial Django

Referencia Django