Django es un framework web de alto nivel que permite el desarrollo rápido de sitios web seguros y fáciles de mantener. Es un framework gratuito y de código abierto escrito con Python. Django también es popular por características adicionales como rendimiento, seguridad, escalabilidad, portabilidad y mantenibilidad.
Esta guía demostrará cómo instalar Django y configurar una aplicación web simple en Ubuntu 20.04.
Django en Ubuntu
Existen múltiples formas de instalar Django en el sistema. Cada método se adapta a un objetivo diferente.
- Instalación global: Django está disponible de inmediato en los repositorios oficiales de paquetes de Ubuntu. Podemos instalarlo directamente usando el gestor de paquetes APT. Aunque el método de instalación es sencillo, ofrece menos flexibilidad que otros métodos. Además, es posible que no contenga la última versión del framework.
- Instalación usando
pipen un entorno virtual: Usando herramientas comovenvyvirtualenv, podemos establecer un entorno virtual e instalar Django allí. El beneficio de este enfoque es que no afecta al sistema en general. También permite la personalización y paquetes por proyecto. Es el método más práctico y recomendado para trabajar con Django. - Instalación de la versión de desarrollo de Django: Django también está disponible en GitHub. La última versión de desarrollo tendrá las últimas características y correcciones. Sin embargo, esto conlleva el costo de posibles problemas de rendimiento y estabilidad.
Esta guía asume que tienes un servidor Ubuntu correctamente configurado. Si aún no tienes un servidor Ubuntu, puedes seguir nuestra guía sobre cómo configurar tu propio servidor Ubuntu.
Instalación de Django en Ubuntu
1. Instalación global usando el gestor de paquetes
Django está disponible de inmediato en los repositorios oficiales de paquetes. El proceso de instalación es bastante sencillo. Primero, actualiza el índice de paquetes APT:
|
1 |
$ sudo apt update |
A continuación, comprueba la versión de Python instalada. Por defecto, Ubuntu 20.04 viene con Python 3.8:
|
1 |
$ python3 -V |
Ahora, estamos listos para instalar Django:
|
1 |
$ sudo apt install python3-django |
Podemos verificar si la instalación fue exitosa. Ejecuta el siguiente comando para comprobar la versión de Django:
|
1 |
$ django-admin --version |
Esto verifica que Django se ha instalado correctamente. Ten en cuenta que la versión de Django no es la última versión estable. Al momento de escribir este artículo, la última versión disponible de Django es v3.2.5 (versión LTS).
2. Instalación de Django con pip (en un entorno virtual)
Esta es la forma recomendada de instalar Django porque ofrece la mayor flexibilidad. Generaremos el entorno virtual utilizando el módulo venv que viene como parte de la biblioteca estándar de Python 3. Te permite crear entornos virtuales de Python e instalar paquetes de Python sin causar cambios en otras partes del sistema. Puedes tener numerosos entornos virtuales con configuraciones únicas.
Comencemos. Primero, necesitamos los módulos pip y venv de Python:
|
1 2 |
$ sudo apt update $ sudo apt install python3-pip python3-venv |
Los módulos se han instalado correctamente. Ahora, crearemos un directorio dedicado para el entorno virtual:
|
1 |
$ mkdir -pv ~/sample_project |
A continuación, cambia el directorio activo al nuevo directorio:
|
1 |
$ cd ~/sample_project |
Ahora, podemos decirle a venv que establezca un entorno virtual dentro del directorio. En cuanto al nombre del entorno, debería ser algo descriptivo:
|
1 |
$ python3 -m venv sample_project_env |
El módulo venv creará una copia de Python y pip en una estructura de directorios aislada dentro del directorio del proyecto. Contendrá un directorio con el nombre seleccionado que contiene la jerarquía de archivos donde se instalan todos los paquetes.
Para instalar paquetes adicionales, necesitamos activar el entorno:
|
1 |
$ source sample_project_env/bin/activate |
El prompt de la terminal debería cambiar a algo como esto:
Dentro del entorno virtual, ahora podemos instalar Django:
|
1 |
$ pip install django |
Verifique si la instalación fue exitosa:
|
1 |
$ django-admin --version |
Para salir del entorno virtual, ejecute el siguiente comando:
|
1 |
$ deactivate |
3. Instalación de la versión de desarrollo de Django
La versión de desarrollo de Django está disponible directamente en GitHub. Utilizaremos git para clonarlo y desplegarlo dentro de un entorno virtual.
Primero, asegúrese de tener instaladas las herramientas necesarias. El siguiente comando instalará venv y pip (módulos de Python) y git:
|
1 |
$ sudo apt update && sudo apt install python3-pip python3-venv git |
A continuación, clone el repositorio de Django. Contendrá todas las últimas características y correcciones de errores (a expensas de la estabilidad). Lo clonaremos en un directorio ~/django-dev:
|
1 |
$ git clone git://github.com/django/django ~/django-dev |
Cambie el directorio actual al repositorio clonado:
|
1 |
$ cd ~/django-dev |
Después de eso, establezca un entorno virtual utilizando el módulo venv de Python:
|
1 |
$ python3 -m venv sample_project_env |
A continuación, active el entorno virtual:
|
1 |
$ source sample_project_env/bin/activate |
Ahora, podemos instalar el Django que clonamos de GitHub. Aquí, la bandera -e se refiere al modo “editable” para permitir la instalación desde el control de versiones:
|
1 |
$ pip install -e ~/django-dev |
Finalmente, verifique la instalación:
|
1 |
$ django-admin --version |
Proyecto Django de ejemplo
Hasta ahora, hemos demostrado cómo instalar Django en el sistema. Ahora, es el momento de poner Django en acción. En esta sección, demostraremos cómo crear un proyecto Django de ejemplo. El proyecto de ejemplo se creará dentro de un entorno virtual.
Cree un directorio para el proyecto de ejemplo:
|
1 |
$ mkdir -pv ~/django-test |
Cambie el directorio actual al directorio del proyecto:
|
1 |
$ cd ~/django-test |
A continuación, use el módulo venv para establecer un entorno virtual de Python:
|
1 |
$ python3 -m venv dummy_env |
El entorno virtual está listo. Active el entorno:
|
1 |
$ source dummy_env/bin/activate |
Podemos instalar Django dentro del entorno:
|
1 |
$ pip install django |
Podemos usar django-admin para construir la base del proyecto. Aquí, el proyecto de ejemplo se llamará sampleproject. El proyecto tendrá un directorio dentro del directorio del entorno que incluye todos los archivos necesarios.
manage.py: Un script de gestión que administra varias tareas específicas de Django.proyecto de ejemplo: Un directorio con el nombre del proyecto que contiene el código real del proyecto.
Sin embargo, no queremos una telaraña de demasiados directorios anidados. Por lo tanto, dígale a Django que coloque los archivos y directorios en el directorio actual:
|
1 |
$ django-admin startproject sampleproject . |
El siguiente paso es migrar la base de datos. Por defecto, Django utiliza SQLite. Las migraciones aplican cualquier cambio realizado en los modelos de Django al esquema de la base de datos. Ejecute el siguiente comando para migrar la base de datos:
|
1 |
$ python manage.py migrate |
Finalmente, estableceremos un usuario administrador para usar la interfaz de administración de Django. Ejecute el siguiente comando:
|
1 |
$ python manage.py createsuperuser |
Le pedirá un nombre de usuario, una dirección de correo electrónico y una contraseña para el usuario.
ALLOWED_HOSTS en la configuración de Django
Para probar la aplicación, necesitamos modificar una cierta directiva en la configuración de Django. Abra el archivo settings.py en un editor de texto:
|
1 |
$ nano ~/django-test/sampleproject/settings.py |
Estamos interesados en la directiva ALLOWED_HOSTS. Describe una lista de direcciones o nombres de dominio que pueden conectarse a la instancia de Django. Cualquier solicitud de host entrante de un host que no esté en la lista generará una excepción. Django lo requiere para evitar ciertas clases de vulnerabilidades de seguridad.
Dentro de los corchetes, enumere las direcciones IP o nombres de dominio asociados con el servidor Django. Cada elemento se listará entre comillas, separado por una coma (,). Así es como se vería la estructura de la directiva:
|
1 |
$ ALLOWED_HOSTS = ['<server_ip_or_domain>', '<server2_ip_or_doman>'] |
Guarde la lista y cierre el editor.
Probando el servidor
Ahora podemos iniciar el servidor de despliegue de Django. Presentará un proyecto de Django nuevo. Tenga en cuenta que solo debe utilizarse para fines de desarrollo. Para un despliegue completo, siga la guía oficial de Django sobre despliegue.
Antes de acceder al servidor de desarrollo, asegúrese de que el cortafuegos permita el acceso al puerto 8000. Si sigue la guía de configuración del servidor Ubuntu, entonces dígale a UFW que abra el puerto 8000 para la comunicación:
|
1 |
$ sudo ufw allow 8000 |
UFW es un cortafuegos común disponible en todas las principales distribuciones de Linux. Aquí tiene una guía que explica varios conceptos básicos de UFW. El servidor de desarrollo ya está listo para funcionar. Inicie el servidor:
|
1 |
$ python manage.py runserver <server_ip>:8000 |
A continuación, visite la dirección IP del servidor en el puerto 8000 en un navegador web. Llegará a la página de bienvenida de Django:
|
1 |
$ http://<server_ip>:8000 |
Para acceder al panel de administración de Django, añada /admin/ al final de la URL:
|
1 |
$ http://<server_ip>:8000/admin/ |
Introduzca el nombre de usuario y la contraseña de administrador para acceder a la sección de administración:
Puede detener el servidor presionando CTRL-C en la terminal.
Reflexiones finales
El proyecto Django ofrece una base estructural para diseñar un sitio más completo. Proporciona las herramientas principales necesarias para impulsar una aplicación web. Aprovechar un marco de trabajo web como Django le permite un desarrollo de proyectos más rápido y dedicar más tiempo a los aspectos únicos de su aplicación.
¡Feliz programación!












Comentarios
Aún no hay comentarios. Sea el primero.