Cómo instalar Django y configurar un entorno de desarrollo en Ubuntu 22.04

Introducción

Django es un marco de trabajo web gratuito y de código abierto escrito en Python, con sus principios fundamentales siendo la escalabilidad, la reutilización y el desarrollo rápido. También es conocido por su consistencia a nivel de marco de trabajo y su acoplamiento flexible, lo que permite que los componentes individuales sean independientes entre sí.

En este tutorial, configurarás un entorno de Django con fines de desarrollo en un servidor Ubuntu 22.04. Para un sitio web en vivo, tendrás consideraciones adicionales, como la conexión a una base de datos, configurar un nombre de dominio y agregar capas de seguridad. Hay una variedad de tutoriales sobre Django que pueden ayudarte mientras construyes bajo la etiqueta de Django.

Prerrequisitos

Para completar este tutorial, necesitarás:

Paso 1 — Instalación de Django

Existen varias formas de instalar Django, el gestor de paquetes de Python pip dentro de un entorno virtual.

Mientras estés en el directorio principal del servidor, crearás el directorio que contendrá tu aplicación de Django. Ejecuta el siguiente comando para crear un directorio llamado django-apps, u otro nombre de tu elección. Luego, navega hasta el directorio.

  1. mkdir django-apps
  2. cd django-apps

Mientras estés dentro del directorio django-apps, crea tu entorno virtual. Lo llamarás genéricamente env, pero deberías usar un nombre que tenga sentido para ti y tu proyecto.

  1. virtualenv env

Ahora, activa el entorno virtual con el siguiente comando:

  1. . env/bin/activate

Sabrás que está activado una vez que el prefijo cambie a (env), que se verá similar a lo siguiente, dependiendo del directorio en el que te encuentres:

Dentro del entorno, instala el paquete Django usando pip. Instalar Django nos permite crear y ejecutar aplicaciones Django.

  1. pip install django

Una vez instalado, verifica tu instalación de Django ejecutando una verificación de versión:

  1. django-admin --version

Este, o algo similar, será el resultado obtenido:

Output
4.0.6

Con Django instalado en tu servidor, puedes pasar a crear un proyecto de prueba para asegurarte de que todo funcione correctamente. Estarás creando una aplicación web esqueleto.

Paso 2 — Ajustar la configuración del cortafuegos

Si seguiste el tutorial de configuración inicial del servidor o tienes un cortafuegos en funcionamiento en tu servidor, deberás abrir el puerto que estarás utilizando en el cortafuegos de tu servidor. Para el cortafuegos UFW, puedes abrir el puerto con el siguiente comando:

  1. sudo ufw allow 8000

Si estás utilizando Cortafuegos de DigitalOcean, puedes seleccionar HTTP de las reglas de entrada. Puedes leer más sobre los Cortafuegos de DigitalOcean y cómo crear reglas para ellos modificando las reglas de entrada.

Paso 3 — Iniciando el Proyecto

Ahora puedes generar una aplicación usando django-admin, una utilidad de línea de comandos para tareas de administración en Python. Luego puedes usar el comando startproject para crear la estructura de directorios del proyecto para tu sitio web de prueba.

Mientras estés en el directorio django-apps, ejecuta el siguiente comando:

  1. django-admin startproject testsite

Nota: Ejecutar el comando django-admin startproject <nombreproyecto> nombrará tanto el directorio del proyecto como el paquete del proyecto como <nombreproyecto> y creará el proyecto en el directorio en el que se ejecutó el comando. Si se proporciona el parámetro opcional <destino>, Django usará el directorio de destino proporcionado como el directorio del proyecto y creará manage.py y el paquete del proyecto dentro de él.

Ahora puedes verificar qué archivos de proyecto se acaban de crear. Navega hasta el directorio testsite y luego lista el contenido de ese directorio para ver qué archivos se crearon:

  1. cd testsite
  1. ls
Output
manage.py testsite

Notarás la salida que muestra que este directorio contiene un archivo llamado manage.py y una carpeta llamada testsite. El archivo manage.py es similar a django-admin y coloca el paquete del proyecto en sys.path. Esto también establece la variable de entorno DJANGO_SETTINGS_MODULE para que apunte al archivo settings.py de tu proyecto.

Puedes ver el script manage.py en tu terminal ejecutando el comando less de la siguiente manera:

  1. less manage.py

Cuando hayas terminado de leer el script, presiona q para dejar de ver el archivo.

Ahora navega hasta el directorio testsite para ver los otros archivos que se crearon:

  1. cd testsite/

Luego ejecuta el siguiente comando para listar el contenido del directorio:

  1. ls

Verás cuatro archivos:

Output
__init__.py asgi.py settings.py urls.py wsgi.py

Puedes revisar qué es cada uno de estos archivos:

  • __init__.py actúa como el punto de entrada para tu proyecto de Python.
  • asgi.py contiene la configuración para la implementación opcional en la Interfaz de Puerta de Enlace de Servidor Asíncrono o ASGI, que proporciona un estándar para aplicaciones tanto síncronas como asíncronas, y se considera un sucesor de WSGI (ver más abajo).
  • settings.py describe la configuración de tu instalación de Django y le indica a Django qué configuraciones están disponibles.
  • urls.py contiene una lista urlpatterns que enruta y mapea URLs a sus views.
  • wsgi.py contiene la configuración para la Interfaz de Pasarela del Servidor Web o WSGI, que proporciona un estándar para aplicaciones Python síncronas.

Nota: Aunque se generan archivos predeterminados, aún tienes la capacidad de ajustar los archivos asgi.py o wsgi.py en cualquier momento para que se ajusten a tus necesidades de implementación.

Paso 4 — Configurar Django

Ahora puedes iniciar el servidor y ver el sitio web en un host y puerto designados ejecutando el comando runserver.

Necesitarás agregar la dirección IP de tu servidor a la lista de ALLOWED_HOSTS en el archivo settings.py ubicado en ~/test_django_app/testsite/testsite/.

Según se indica en la documentación de Django, la variable ALLOWED_HOSTS contiene “una lista de cadenas que representan los nombres de host/dominio que este sitio de Django puede servir. Esta es una medida de seguridad para prevenir ataques de encabezado de host HTTP, que son posibles incluso en muchas configuraciones de servidor web aparentemente seguras”.

Puedes usar tu editor de texto favorito para agregar tu dirección IP. Por ejemplo, si estás usando nano, ejecuta el siguiente comando:

  1. nano ~/django-apps/testsite/testsite/settings.py

Una vez que ejecutes el comando, querrás navegar hasta la sección ALLOWED_HOSTS del documento y agregar la dirección IP de tu servidor dentro de los corchetes cuadrados, dentro de comillas simples o dobles.

settings.py
"""
Django settings for testsite project.

Generated by 'django-admin startproject' using Django 4.0.
...
"""
...
# ADVERTENCIA DE SEGURIDAD: ¡no ejecutes con la depuración activada en producción!
DEBUG = True

# Edita la línea a continuación con la dirección IP de tu servidor
ALLOWED_HOSTS = ['your-server-ip']
...

Puedes guardar el cambio y salir de nano manteniendo presionadas las teclas CTRL + x y luego presionando la tecla y. A continuación, procederás a acceder a tu aplicación web a través de un navegador.

Finalmente, crea un usuario administrativo para que puedas utilizar la interfaz administrativa de Django. Esto se puede hacer con el comando createsuperuser:

  1. python manage.py createsuperuser

Se te pedirá un nombre de usuario, una dirección de correo electrónico y una contraseña para tu usuario.

Paso 5 — Accediendo a la Aplicación Web de Django

Con tu configuración completada, asegúrate de navegar de regreso al directorio donde se encuentra manage.py:

  1. cd ~/django-apps/testsite/

Ahora, ejecuta el siguiente comando reemplazando el texto tu-dirección-ip-del-servidor con la IP de tu servidor:

  1. python manage.py runserver your-server-ip:8000

Finalmente, puedes navegar al siguiente enlace para ver cómo se ve tu sitio web esquelético, reemplazando nuevamente el texto resaltado con la IP real de tu servidor:

http://your-server-ip:8000/

Una vez que la página se cargue, verás lo siguiente:

Esto confirma que Django se instaló correctamente y tu proyecto de prueba está funcionando correctamente.

Para acceder a la interfaz de administración, agrega /admin/ al final de tu URL:

http://your_server_ip:8000/admin/

Esto te llevará a una pantalla de inicio de sesión:

Si ingresas el nombre de usuario y la contraseña de administrador que acabas de crear, tendrás acceso a la sección principal de administración del sitio:

Para obtener más información sobre cómo trabajar con la interfaz de administración de Django, consulta “Cómo habilitar y conectar la interfaz de administración de Django”.

Cuando hayas terminado de probar tu aplicación, puedes presionar CTRL + C para detener el comando runserver. Esto te devolverá a tu entorno de programación.

Cuando estés listo para salir de tu entorno de Python, puedes ejecutar el comando deactivate:

  1. deactivate

Desactivar tu entorno de programación te devolverá al indicador de comando del terminal.

Conclusión

En este tutorial has instalado correctamente Django y configurado un entorno de desarrollo para comenzar a trabajar en tu aplicación de Django.

Ahora tienes la base necesaria para comenzar a construir aplicaciones web con Django.

Source:
https://www.digitalocean.com/community/tutorials/how-to-install-django-and-set-up-a-development-environment-on-ubuntu-22-04