Tutorial

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

Published on May 28, 2020
Español
Cómo instalar Django y configurar un entorno de desarrollo en Ubuntu 20.04

Introducción

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

En este tutorial, configuraremos un entorno de Django para fines de desarrollo en un servidor de Ubuntu 20.04. Para un sitio web activo, tendrá que tomar en cuenta consideraciones adicionales, como conectarse a una base de datos, configurar un nombre de dominio y agregar capas de seguridad. Disponemos de varios tutoriales en Django que pueden ayudarlo a construir bajo nuestra etiqueta Django.

Requisitos previos

Para completar este tutorial, necesitará lo siguiente:

Paso 1: Instalar Django

Existen varias formas de instalar Django, el pip del administrador de paquetes de Python, en un entorno virtual.

Mientras estamos en el directorio principal del servidor, crearemos el directorio que contendrá nuestra aplicación Django. Ejecute el siguiente comando para crear un directorio llamado django-apps o cualquier otro nombre que elija. Luego, diríjase al directorio.

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

Dentro del directorio django-apps, cree su entorno virtual. Lo llamaremos el genérico env​​, pero debe utilizar un nombre que sea significativo para usted y su proyecto.

  1. virtualenv env

Ahora, active el entorno virtual con el siguiente comando:

  1. . env/bin/activate

Sabrá que se activará una vez que el prefijo cambie a (env), el cual, según directorio en el que usted se encuentre, tendrá un aspecto similar al siguiente:

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

  1. pip install django

Una vez que haya instalado, verifique la instalación de Django ejecutando una comprobación de la versión:

  1. django-admin --version

El resultado será igual o algo similar a este:

Output
3.0.6

Con Django instalado en su servidor, podemos proceder a crear un proyecto de prueba para asegurarnos de que todo funciona correctamente. Crearemos una aplicación web de esquema.

Paso 2: Ajustar la configuración del firewall

Si siguió el tutorial de configuración inicial del servidor o tiene un firewall en ejecución en su servidor, tendremos que abrir el puerto que utilizaremos en el firewall de nuestro servidor. Para el firewall UFW, puede abrir el puerto con el siguiente comando:

  1. sudo ufw allow 8000

Si utiliza los firewalls de DigitalOcean, puede seleccionar HTTP desde las reglas de entrada. Puede leer más sobre los firewalls de DigitalOcean y crear reglas para ellos modificando las reglas de entrada.

Paso 3: Iniciar el proyecto

Ahora podemos generar una aplicación utilizando django-admin, una utilidad de línea de comandos para tareas de administración en Python. Luego, podemos utilizar el comando startproject para crear la estructura del directorio del proyecto para nuestro sitio web de prueba.

Mientras está en el directorio django-apps, ejecute el siguiente comando:

  1. django-admin startproject testsite

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

Ahora podemos ver los archivos del proyecto que acabamos de crear. Diríjase al directorio testsite y, luego, enumere el contenido del directorio para ver los archivos que se crearon:

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

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

Puede ver la secuencia de comandos manage.py en su terminal ejecutando el comando less de la siguiente manera:

  1. less manage.py

Cuando termine de leer la secuencia de comandos, presione q para salir de la vista del archivo.

Ahora, diríjase al directorio testsite para ver los demás archivos que se crearon:

  1. cd testsite/

Luego, ejecute el siguiente comando para enumerar el contenido del directorio:

  1. ls

Verá cuatro archivos:

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

Veamos qué hay en cada uno de estos archivos:

  • __init__.py funciona como punto de entrada para su proyecto Python.
  • asgi.py contiene la configuración para la implementación opcional a la Interfaz de puerta de enlace de servidor asíncrono o ASGI, que proporciona un estándar para las apps que son sincronizadas o ASGI, y se considera como sucesor de WSGI (véase a continuación).
  • settings.py describe la configuración de la instalación de Django e indica a este la configuración disponible.
  • urls.py contiene una lista de urlpatterns que enruta y asigna URL a sus views.
  • wsgi.py contiene la configuración para la Interfaz de puerta de enlace de servidor web o WSGI, que proporciona un estándar para las apps síncronas de Python. <$>[note] Nota: Aunque se generen archivos predeterminados, aún tiene la capacidad de modificar los archivos asgi.py o wsgi.py en cualquier momento para satisfacer sus necesidades de implementación.

Paso 4: Configurar Django

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

Deberá añadir la dirección de ip de su servidor a la lista ALLOWED_HOSTS en el archivo settings.py ubicado en ~/test_django_app/testsite/testsite/.

Como se indica en los documentos de Django, la variable ALLOWED_HOSTS contiene "una lista de strings que representa los nombres de host/dominio que este sitio de Django puede utilizar. Esta es una medida de seguridad para evitar ataques al encabezado de host HTTP, que son posibles incluso bajo muchas configuraciones de servidores web aparentemente seguras”.

Puede utilizar su editor de texto favorito para añadir su dirección IP. Por ejemplo, si utiliza nano, ejecute el siguiente comando:

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

Una vez que ejecute el comando, le convendrá dirigirse a la sección de hosts permitidos del documento y añadir la dirección IP de su servidor dentro de los corchetes y entre comillas individuales o dobles.

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

Generated by 'django-admin startproject' using Django 2.0.
...
"""
...
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

# Edit the line below with your server IP address
ALLOWED_HOSTS = ['your-server-ip']
...

Puede guardar el cambio y salir de nano presionando las teclas CTRL + x y, luego, presionando la tecla y. Luego, accederemos a nuestra app web a través de un navegador.

Por último, vamos a crear un usuario administrativo para que pueda usar la interfaz de administración de Django. Haremos esto con el comando createsuperuser:

  1. python manage.py createsuperuser

Se le solicitará un nombre de usuario, una dirección de correo electrónico y una contraseña para su usuario.

Paso 5: Acceder a la app web de Django

Una vez completada nuestra configuración, asegúrese de regresar al directorio en el que se ubica manage.py:

  1. cd ~/django-apps/testsite/

Ahora, ejecute el siguiente comando reemplazando el texto your-server-ip con la IP de su servidor:

  1. python manage.py runserver 0.0.0.0:8000

Por último, puede dirigirse al siguiente enlace para ver el aspecto del esquema de su sitio web, nuevamente reemplazando el texto resaltado con la IP real de su servidor:

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

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

Página predeterminada de Django

Esto confirma que Django se instaló correctamente y que nuestro proyecto de prueba funciona correctamente.

Para acceder a la interfaz de administrador, añada /admin/ al final de su URL:

http://your_server_ip:8000/admin/

Con esto, accederá a una pantalla de inicio de sesión:

Inicio de sesión de administrador en Django

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

Página de administración de Django

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

Cuando termine de probar su app, puede presionar CTRL + C para detener el comando runserver. Con esto, regresará a su entorno de programación.

Cuando esté listo para salir de su entorno de Python, puede ejecutar el comando deactivate:

  1. deactivate

Al desactivar su entorno de programación, regresará a la línea de comandos del terminal.

Conclusión

En este tutorial instaló Django y configuró un entorno de desarrollo correctamente para comenzar a trabajar en su app de Django.

Ahora tiene la base necesaria para comenzar a construir aplicaciones web de Django.

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about our products

About the authors

Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
Leave a comment


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Featured on Community

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more