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.
Para completar este tutorial, necesitará lo siguiente:
Una cuenta non-root user con privilegios sudo
que puede conseguir siguiendo y completando el tutorial Configuración inicial para servidores con Ubuntu 20.04.
Python 3 configurado con un entorno de programación virtual. Puede configurar esto a través de nuestra guía de instalación Python 3.
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.
- mkdir django-apps
- 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.
- virtualenv env
Ahora, active el entorno virtual con el siguiente comando:
- . 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.
- pip install django
Una vez que haya instalado, verifique la instalación de Django ejecutando una comprobación de la versión:
- django-admin --version
El resultado será igual o algo similar a este:
Output3.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.
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:
- 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.
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:
- 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:
- cd testsite
- ls
Outputmanage.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:
- 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:
- cd testsite/
Luego, ejecute el siguiente comando para enumerar el contenido del directorio:
- 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.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:
- 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.
"""
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
:
- 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.
Una vez completada nuestra configuración, asegúrese de regresar al directorio en el que se ubica manage.py
:
- cd ~/django-apps/testsite/
Ahora, ejecute el siguiente comando reemplazando el texto your-server-ip con la IP de su servidor:
- 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:/
Una vez que la página se cargue, verá lo siguiente:
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:
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:
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
:
- deactivate
Al desactivar su entorno de programación, regresará a la línea de comandos del terminal.
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.
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!
Sign up for Infrastructure as a Newsletter.
Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.