Cómo instalar el framework Django para desarrollar aplicaciones web profesionales, con acceso a base de datos, usando Python. En este primer artículo realizaremos un proyecto y una aplicación web básica de ejemplo, «Hola mundo». También mostramos cómo acceder a Django administration (app web admin).

Instalar Python

En primer lugar, para usar Django, necesitaremos tener instalado Python en el equipo (sea Windows o Linux). En el siguiente artículo explicamos cómo instalar Python en Windows:

Instalar Django con pip de Python

Para listar el framework Django en Python únicamente tendremos que abrir una ventana de shell de comandos (MS-DOS, símbolo de sistema) en Windows o la línea de comandos en Linux. Puesto que vamos a realizar una instalación de un componente que, además, requerirá conexión a Internet, es conveniente abrir la ventana de Símbolo del sistema como administrador, pulsando en «Ejecutar como administrador:

Instalar Django con pip de Python

Antes de instalar Django, si queremos comprobar que efectivamente no está instalado en nuestro sistema, podremos ejecutar el siguiente comando:

Si no está instalado devolverá:

python.exe: No module named django

Esto también nos servirá para comprobar que tenemos Python correctamente instalado en el equipo y con las variables de entorno oportunas. Si la ejecución del comando anterior nos devuelve un mensaje como este:

«python» no se reconoce como un comando interno o externo, programa o archivo por lotes ejecutable.

Se debe a que no hemos instalado correctamente Python y no está la carpeta de instalación en la variable de entorno PATH del sistema.

Para instalar Django ejecutaremos el siguiente comando:

pip install Django

El comando anterior descargará e instalará la última versión disponible de Django, en nuestro caso la versión 4.0.1. Ahora, ejecutando el comando:

python -m django –version

Nos devolverá la versión de Django instalada:

4.0.1

Instalar Django con pip de Python

Si necesitamos instalar una versión concreta de Django podemos usar el comando:

pip install Django==4.1

Cambiando 4.1 por la versión que queramos instalar.

Mi primer proyecto web Hola Mundo con Django y Python

Antes de continuar, conviene explicar brevemente la diferencia entre proyecto y aplicación. Básicamente un proyecto puede contener múltiples aplicaciones. Una aplicación puede ser una parte de un proyecto, por ejemplo, en un proyecto web de facturación, una aplicación de este proyecto podría ser la gestión de albaranes, otra la gestión de proveedores y otra la gestión de facturas. Todas las aplicaciones formarían parte del proyecto de facturación.

Entendido esto, pasamos a crear el proyecto «Hola mundo», como indicamos a continuación.

Desde la línea de comandos accederemos a la carpeta donde queramos que se guarden los proyectos Django, por ejemplo a la unidad D y a la carpeta ProyectoA_Python, subcarpeta Django:

cd D:\ProyectoA_Python\Django

d:

Ejecutaremos el siguiente comando para crear el proyecto en la carpeta en la que nos encontremos:

django-admin startproject hola_mundo

En nuestro ejemplo, creará un proyecto llamado «hola_mundo». El comando creará una carpeta dentro de la carpeta en la que estemos con el nombre del proyecto. Creará también los ficheros básicos del proyecto en la raíz, manage.py:

Mi primer proyecto web Hola Mundo con Django y Python

Y __init__.py, asgi.py, settings.py, urls.py y wsgi.py en la subcarpeta del proyecto:

Mi primer proyecto web Hola Mundo con Django y Python

Accederemos a la carpeta creada de nuestro proyecto «hola_mundo» por el comando anterior, con el comando:

cd hola_mundo

Mi primer proyecto web Hola Mundo con Django y Python

Y verificamos que se han creado los ficheros correspondientes con el comando:

dir

Mi primer proyecto web Hola Mundo con Django y Python

Si queremos probar que funciona correctamente el servidor web que incorpora Django y que ejecuta nuestro proyecto, podemos hacerlo con el siguiente comando:

python manage.py runserver

Mi primer proyecto web Hola Mundo con Django y Python

Una vez iniciado el servidor web, desde un navegador del equipo, accederemos a la URL:

http://localhost:8000

Si todo es correcto nos mostrará la siguiente página:

Mi primer proyecto web Hola Mundo con Django y Python

Si queremos detener el servidor web, pulsaremos Control + C en la ventana de MS-DOS.

Para evitar el error que aparece al ejecutar el servidor web Django:

You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run ‘python manage.py migrate’ to apply them.

Ejecutaremos el comando:

python manage.py migrate

Mi primer proyecto web Hola Mundo con Django y Python

Crear aplicación Hola mundo en proyecto Hola mundo de Django

Anteriormente hemos creado el proyecto «hola_mundo», ahora crearemos una aplicación dentro de este proyecto llamada «holaMundo». Para ello, desde la carpeta del proyecto, ejecutaremos el comando:

python manage.py startapp holaMundo

Crear aplicación Hola mundo en proyecto Hola mundo de Django

Nos habrá creado otra subcarpeta con el nombre de la aplicación «holaMundo» con los ficheros básicos de la aplicación (admin.py, apps.py, models.py, tests.py, views.py):

  • __init__.py: archivo especial de Python que indica que el contenido de esta subcarpeta será un módulo.
  • admin.py: archivo de Django para registrar modelos y poder emplearlos en una aplicación para la gestión de datos.
  • apps.py: archivo de configuración de la aplicación.
  • migrations: carpeta para gestión de las migraciones.
  • models.py: archivo para crear los modelos de la aplicación.
  • tests.py: archivo para realizar pruebas de la aplicación.
  • views.py: archivo para crear las funciones y vistas para la lógica de la aplicación. Será la capa de la lógica de negocio que se encarga de conectar la capa del modelo con la de la plantilla.
Crear aplicación Hola mundo en proyecto Hola mundo de Django

Para agregar código y crear nuestra página «Hola mundo» en nuestra aplicación «holaMundo», editaremos el fichero «views.py», podremos editarlo con un editor de texto plano o con cualquier otro editor de código. Agregaremos el siguiente código a este fichero:

Guardaremos el código en el fichero views.py:

Crear aplicación Hola mundo en proyecto Hola mundo de Django

Una vez establecido el código de nuestra página para la aplicación web, necesitaremos hacer el «ruteo» en la aplicación y el proyecto para que la aplicación sea accesible desde el servidor web Django. Para ello crearemos el fichero urls.py en la carpeta de la aplicación (en nuestro caso en la carpeta holaMundo) y lo editaremos:

Crear aplicación Hola mundo en proyecto Hola mundo de Django

Agregaremos el siguiente código:

Crear aplicación Hola mundo en proyecto Hola mundo de Django

Y ahora editaremos el fichero urls.py que ya existe, ubicado en la carpeta del proyecto «hola_mundo»:

Crear aplicación Hola mundo en proyecto Hola mundo de Django

Este fichero tiene el siguiente código por defecto:

Vemos que tiene la ruta para el acceso de la aplicación admin (que explicamos en el siguiente punto del artículo). Añadiremos el import para la aplicación holaMundo y su ruta correspondiente, quedando:

Crear aplicación Hola mundo en proyecto Hola mundo de Django

Ya podremos iniciar el servidor web Django con el comando:

python manage.py runserver

Y desde un navegador web accederemos a la URL:

http://localhost:8000/holaMundo

Mostrando nuestra primera aplicación web Django:

Crear aplicación Hola mundo en proyecto Hola mundo de Django

En la consola de la línea de comandos podremos comprobar que cada vez que se accede al servidor web se añade una nueva línea de log:

[08/Jan/2022 22:25:33] «GET /holaMundo/ HTTP/1.1» 200 119

Crear aplicación Hola mundo en proyecto Hola mundo de Django

Acceso a la app admin (administrador) de Django vía web

Django incorpora una app de administración (admin) a la que se puede acceder una vez iniciado el servidor web, con el comando:

python manage.py runserver

Desde el navegador web, accederemos a la URL:

http://localhost:8000/admin

Nos solicitará usuario y contraseña:

Acceso a la app admin (administrador) de Django vía web

Para establecer un usuario y contraseña de acceso a la app admin volveremos a la línea de comandos y ejecutaremos el siguiente comando:

python manage.py createsuperuser

El comando nos solicitará un usuario, una dirección de correo electrónico y la contraseña. Introduciremos estos datos y nos creará un superusuario para acceso a la app admin de Django:

Acceso a la app admin (administrador) de Django vía web

Volveremos a iniciar el servidor web Django (si lo hemos detenido) y volvemos a acceder a la URL:

http://localhost:8000/admin

Ahora introduciremos el usuario y contraseña creados anteriormente:

Acceso a la app admin (administrador) de Django vía web

Y tendremos acceso a Django administration:

Acceso a la app admin (administrador) de Django vía web

Esta web de administración no tiene muchas opciones, sirve como un ejemplo más de lo que se puede hacer con Django. Básicamente podremos crear y modificar usuarios y grupos y establecer permisos para estos usuarios:

Acceso a la app admin (administrador) de Django vía web