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:
-
Una cuenta de usuario no root con privilegios de
sudo
, que puedes lograr siguiendo y completando el tutorial de configuración inicial del servidor para Ubuntu 22.04. -
Configuración de Python 3 con un entorno de programación virtual. Puedes configurarlo siguiendo la guía de instalación de Python 3.
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.
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.
Ahora, activa el entorno virtual con el siguiente comando:
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.
Una vez instalado, verifica tu instalación de Django ejecutando una verificación de versión:
Este, o algo similar, será el resultado obtenido:
Output4.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:
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:
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:
Outputmanage.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:
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:
Luego ejecuta el siguiente comando para listar el contenido del directorio:
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 listaurlpatterns
que enruta y mapea URLs a susviews
.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:
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.
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
:
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
:
Ahora, ejecuta el siguiente comando reemplazando el texto tu-dirección-ip-del-servidor con la IP de tu servidor:
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
:
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.