Introducción
Django es un marco web completo de Python para desarrollar sitios web y aplicaciones dinámicas. Utilizando Django, puedes crear rápidamente aplicaciones web en Python y depender del marco para realizar gran parte del trabajo pesado.
En esta guía, configurarás Django en un servidor Ubuntu 22.04. Después de la instalación, iniciarás un nuevo proyecto para usar como base para tu sitio.
Métodos Diferentes
Existen diferentes formas de instalar Django, según tus necesidades y cómo desees configurar tu entorno de desarrollo. Estos tienen diferentes ventajas y un método puede adaptarse mejor a tu situación específica que otros.
Algunos de los métodos diferentes incluyen:
- Instalación global desde paquetes: Los repositorios oficiales de Ubuntu contienen paquetes de Django que se pueden instalar con el gestor de paquetes convencional
apt
. Esto es simple, pero no tan flexible como algunos otros métodos. Además, la versión contenida en los repositorios puede quedarse atrás de las versiones oficiales disponibles en el proyecto. - Instalar con
pip
en un entorno virtual: Puedes crear un entorno autocontenido para tus proyectos usando herramientas comovenv
yvirtualenv
. Un entorno virtual te permite instalar Django en un directorio de proyecto sin afectar al sistema más grande, junto con otras personalizaciones y paquetes por proyecto. Esta es típicamente la forma más práctica y recomendada de trabajar con Django. - Instalar la versión de desarrollo con
git
: Si deseas instalar la última versión de desarrollo en lugar de la versión estable, puedes obtener el código del repositorio Git. Esto es necesario para obtener las últimas características/correcciones y se puede hacer dentro de tu entorno virtual. Las versiones de desarrollo no tienen las mismas garantías de estabilidad que las versiones más estables, sin embargo.
Prerrequisitos
Antes de comenzar, debes tener un usuario no root con privilegios sudo disponible en tu servidor Ubuntu 22.04. Para configurar esto, sigue nuestra guía de configuración inicial del servidor Ubuntu 22.04.
Instalación global desde paquetes
Si deseas instalar Django usando los repositorios de Ubuntu, el proceso es muy sencillo.
Primero, actualiza tu índice de paquetes local con apt
:
Luego, verifica qué versión de Python tienes instalada. La 22.04 viene con Python 3.10 por defecto, lo cual puedes verificar escribiendo:
Deberías ver una salida como esta:
OutputPython 3.10.4
A continuación, instala Django:
Puedes comprobar que la instalación fue exitosa escribiendo:
Output3.2.12
Esto significa que el software se instaló correctamente. También puedes notar que la versión de Django no es la última estable. Para obtener más información sobre cómo usar el software, avanza para aprender cómo crear un proyecto de ejemplo.
Instalar con pip en un Entorno Virtual
La forma más flexible de instalar Django en tu sistema es dentro de un entorno virtual. Te mostraremos cómo instalar Django en un entorno virtual que crearemos con el módulo venv
, parte de la biblioteca estándar de Python 3. Esta herramienta te permite crear entornos virtuales de Python e instalar paquetes de Python sin afectar al resto del sistema. Por lo tanto, puedes seleccionar paquetes de Python en base a proyectos específicos, independientemente de los conflictos con los requisitos de otros proyectos.
Comencemos actualizando el índice de paquetes local:
Verifica la versión de Python que tienes instalada:
OutputPython 3.10.4
A continuación, vamos a instalar pip
y venv
desde los repositorios de Ubuntu:
Ahora, cada vez que inicies un nuevo proyecto, puedes crear un entorno virtual para él. Comienza creando y moviéndote a un nuevo directorio de proyecto:
A continuación, crea un entorno virtual dentro del directorio del proyecto usando el comando python
que sea compatible con tu versión de Python. Llamaremos a nuestro entorno virtual mi_entorno
, pero deberías nombrarlo de manera descriptiva:
Esto instalará versiones independientes de Python y pip
en una estructura de directorios aislada dentro de tu directorio de proyecto. Se creará un directorio con el nombre que elijas, el cual contendrá la jerarquía de archivos donde se instalarán tus paquetes.
Para instalar paquetes en el entorno aislado, debes activarlo escribiendo:
Tu indicador debería cambiar para reflejar que ahora estás en tu entorno virtual. Se verá algo así como (mi_entorno)nombredeusuario@nombredehost:~/nuevoproyecto$
.
En tu nuevo entorno, puedes usar pip
para instalar Django. Independientemente de tu versión de Python, pip
debería llamarse simplemente pip
cuando estés en tu entorno virtual. Además, ten en cuenta que no necesitas usar sudo
ya que estás instalando localmente:
Puedes verificar la instalación escribiendo:
Output4.0.4
Ten en cuenta que tu versión puede diferir de la versión mostrada aquí.
Para salir de tu entorno virtual, necesitas emitir el comando deactivate
desde cualquier lugar del sistema:
Tu indicador debería volver a la visualización convencional. Cuando desees trabajar en tu proyecto nuevamente, reactiva tu entorno virtual volviendo al directorio de tu proyecto y activándolo:
Instalación de la Versión de Desarrollo con Git
Si necesitas una versión de desarrollo de Django, puedes descargar e instalar Django desde su repositorio Git. Hagámoslo desde dentro de un entorno virtual.
Primero, actualicemos el índice de paquetes local:
Verifica la versión de Python que tienes instalada:
OutputPython 3.10.4
A continuación, instala pip
y venv
desde los repositorios oficiales:
El siguiente paso es clonar el repositorio de Django. Entre versiones, este repositorio tendrá características y correcciones de errores más actualizadas, aunque posiblemente a expensas de la estabilidad. Puedes clonar el repositorio en un directorio llamado ~/django-dev
dentro de tu directorio de inicio escribiendo:
Cambia a este directorio:
Crea un entorno virtual utilizando el comando python
que sea compatible con tu versión instalada de Python:
Actívalo:
A continuación, puedes instalar el repositorio usando pip
. La opción -e
instalará en modo “editable”, que es necesario cuando se instala desde el control de versiones:
Puedes verificar que la instalación fue exitosa escribiendo:
Output4.0.4.2
Nuevamente, la versión que veas mostrada puede no coincidir con la que se muestra aquí.
Ahora tienes la última versión de Django en tu entorno virtual.
Creando un Proyecto de Ejemplo
Con Django instalado, puedes comenzar a construir tu proyecto. Repasaremos cómo crear un proyecto y probarlo en tu servidor de desarrollo usando un entorno virtual.
Primero, crea un directorio para tu proyecto y cámbiate a él:
A continuación, crea tu entorno virtual:
Activa el entorno:
Instala Django:
Para construir tu proyecto, puedes usar django-admin
con el comando startproject
. Llamaremos a nuestro proyecto djangoproject
, pero puedes reemplazar esto con un nombre diferente. startproject
creará un directorio dentro de tu directorio de trabajo actual que incluye:
- A management script,
manage.py
, which you can use to administer various Django-specific tasks. - A directory (with the same name as the project) that includes the actual project code.
Para evitar tener demasiados directorios anidados, sin embargo, digamos a Django que coloque el script de gestión y el directorio interno en el directorio actual (nota el punto final):
Para migrar la base de datos (este ejemplo utiliza SQLite por defecto), usemos el comando migrate
con manage.py
. Las migraciones aplican cualquier cambio que hayas hecho en tus modelos de Django a tu esquema de base de datos.
Para migrar la base de datos, escribe:
Verás una salida como la siguiente:
OutputOperations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying admin.0003_logentry_add_action_flag_choices... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying auth.0009_alter_user_last_name_max_length... OK
Applying auth.0010_alter_group_name_max_length... OK
Applying auth.0011_update_proxy_permissions... OK
Applying auth.0012_alter_user_first_name_max_length... OK
Applying sessions.0001_initial... OK
Finalmente, creemos un usuario administrativo para que puedas utilizar la interfaz de administración de Django. Hagámoslo con el comando createsuperuser
:
Se te solicitará un nombre de usuario, una dirección de correo electrónico y una contraseña para tu usuario.
Modificando ALLOWED_HOSTS en la configuración de Django
Para probar tu aplicación correctamente, deberás modificar una de las directivas en la configuración de Django.
Abre el archivo de configuración escribiendo:
Dentro, localiza la directiva ALLOWED_HOSTS
. Esto define una lista de direcciones o nombres de dominio que pueden ser utilizados para conectarse a la instancia de Django. Una solicitud entrante con un encabezado Host que no esté en esta lista generará una excepción. Django requiere que establezcas esto para prevenir una cierta clase de vulnerabilidad de seguridad.
En los corchetes cuadrados, lista las direcciones IP o nombres de dominio que están asociados con tu servidor Django. Cada elemento debe estar enumerado entre comillas, con entradas separadas por una coma. Si deseas solicitudes para un dominio completo y cualquier subdominio, añade un punto al principio de la entrada:
Cuando hayas terminado, guarda el archivo y sal de tu editor.
Prueba del Servidor de Desarrollo
Una vez que tengas un usuario, puedes iniciar el servidor de desarrollo de Django para ver cómo luce un proyecto Django nuevo. Debes usar esto solo para propósitos de desarrollo. Cuando estés listo para implementar, asegúrate de seguir las pautas de implementación de Django cuidadosamente.
Antes de probar el servidor de desarrollo, asegúrate de abrir el puerto adecuado en tu firewall. Si seguiste la guía de configuración inicial del servidor y estás utilizando UFW, puedes abrir el puerto 8000
escribiendo:
Inicia el servidor de desarrollo:
Visita la dirección IP de tu servidor seguida de :8000
en tu navegador web:
http://your_server_ip:8000
Deberías ver algo que se parezca a esto:
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 introduces 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 revisar el sitio predeterminado, puedes detener el servidor de desarrollo escribiendo CTRL-C
en tu terminal.
El proyecto Django que has creado proporciona la base estructural para diseñar un sitio más completo. Consulta la documentación de Django para obtener más información sobre cómo construir tus aplicaciones y personalizar tu sitio.
Conclusión
Ahora deberías tener Django instalado en tu servidor Ubuntu 22.04, proporcionando las herramientas principales que necesitas para crear potentes aplicaciones web. También deberías saber cómo iniciar un nuevo proyecto y lanzar el servidor de desarrollo. Aprovechar un marco web completo como Django puede ayudar a que el desarrollo sea más rápido, permitiéndote concentrarte solo en los aspectos únicos de tus aplicaciones.
Si deseas obtener más información sobre cómo trabajar con Django, incluyendo discusiones detalladas sobre temas como modelos y vistas, consulta nuestra serie de desarrollo de Django.