Cómo instalar el framework web Django en Ubuntu 22.04

Introducción
Django es un framework web Python con todas las funciones para desarrollar sitios web y aplicaciones dinámicas. Con Django, puedes crear rápidamente aplicaciones web Python y confiar en el framework para realizar gran parte del trabajo pesado.
En esta guía, podrá configurar y ejecutar Django en un servidor Ubuntu 22.04. Después de la instalación, iniciará un nuevo proyecto que utilizará como base para su sitio.
Diferentes métodos
Existen distintas formas de instalar Django, según tus necesidades y cómo quieras configurar tu entorno de desarrollo. Cada una de ellas tiene distintas ventajas y es posible que un método se adapte mejor a tu situación específica que otros.
Algunos de los diferentes métodos incluyen:
- Instalación global desde paquetes : los repositorios oficiales de Ubuntu contienen paquetes de Django que se pueden instalar con el
apt
gestor de paquetes convencional. Es un método sencillo, pero no tan flexible como otros. Además, la versión contenida en los repositorios puede estar por detrás de las versiones oficiales disponibles en el proyecto. - Instalar
pip
en un entorno virtual : puedes crear un entorno autónomo para tus proyectos utilizando 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. Este suele ser el enfoque más práctico y recomendado para trabajar con Django. - Instalar la versión de desarrollo con
git
: Si desea instalar la última versión de desarrollo en lugar de la versión estable, puede adquirir el código desde el repositorio de Git. Esto es necesario para obtener las últimas funciones y correcciones y se puede hacer dentro de su entorno virtual. Sin embargo, las versiones de desarrollo no tienen las mismas garantías de estabilidad que las versiones más estables.
Prerrequisitos
Antes de comenzar, debe tener un usuario no root con privilegios sudo disponible en su servidor Ubuntu 22.04. Para configurarlo, siga nuestra guía de configuración inicial del servidor Ubuntu 22.04 .
Instalación global desde paquetes
Si desea instalar Django usando los repositorios de Ubuntu, el proceso es muy sencillo.
Primero, actualice su índice de paquetes local con apt
:
- sudo apt update
A continuación, comprueba qué versión de Python tienes instalada. La versión 22.04 viene con Python 3.10 de forma predeterminada, lo cual puedes comprobar escribiendo:
- python3 -V
Deberías ver un resultado como este:
OutputPython 3.10.4
A continuación, instale Django:
- sudo apt install python3-django
Puede comprobar que la instalación se realizó correctamente escribiendo:
- django-admin --version
Output3.2.12
Esto significa que el software se instaló correctamente. También puede notar que la versión de Django no es la última versión estable. Para obtener más información sobre cómo usar el software, continúe hasta aprender cómo crear un proyecto de muestra .
Instalar con pip en un entorno virtual
La forma más flexible de instalar Django en su sistema es dentro de un entorno virtual. Le mostraremos cómo instalar Django en un entorno virtual que crearemos con el venv
módulo, parte de la biblioteca estándar de Python 3. Esta herramienta le permite crear entornos virtuales de Python e instalar paquetes de Python sin afectar el resto del sistema. Por lo tanto, puede seleccionar paquetes de Python por proyecto, independientemente de los conflictos con los requisitos de otros proyectos.
Comencemos actualizando el índice del paquete local:
- sudo apt update
Comprueba la versión de Python que tienes instalada:
- python3 -V
OutputPython 3.10.4
A continuación, instalemos pip
y venv
desde los repositorios de Ubuntu:
- sudo apt install python3-pip python3-venv
Ahora, cada vez que inicie un nuevo proyecto, podrá crear un entorno virtual para él. Comience por crear un nuevo directorio de proyecto y muévase a él:
- mkdir ~/newproject
- cd ~/newproject
A continuación, crea un entorno virtual dentro del directorio del proyecto utilizando el python
comando que sea compatible con tu versión de Python. Llamaremos a nuestro entorno virtual my_env
, pero debes darle un nombre descriptivo:
- python3 -m venv my_env
Esto instalará versiones independientes de Python pip
en una estructura de directorio aislada dentro del directorio de su proyecto. Se creará un directorio con el nombre que seleccione, que contendrá la jerarquía de archivos donde se instalarán sus paquetes.
Para instalar paquetes en el entorno aislado, debes activarlo escribiendo:
- source my_env/bin/activate
El mensaje debería cambiar para reflejar que ahora estás en tu entorno virtual. Se verá algo como .(my_env)username@hostname:~/newproject$
En su nuevo entorno, puede usar pip
para instalar Django. Independientemente de su versión de Python, pip
solo debe llamarse pip
cuando se encuentre en su entorno virtual. Tenga en cuenta también que no necesita usar sudo
ya que está instalando localmente:
- pip install django
Puede verificar la instalación escribiendo:
- django-admin --version
Output4.0.4
Tenga en cuenta que su versión puede diferir de la versión que se muestra aquí.
Para salir de su entorno virtual, debe emitir el deactivate
comando desde cualquier lugar del sistema:
- deactivate
El mensaje debería volver a la pantalla convencional. Cuando desee volver a trabajar en su proyecto, vuelva a activar su entorno virtual volviendo al directorio de su proyecto y activando:
- cd ~/newproject
- source my_env/bin/activate
Versión de desarrollo Instalar con Git
Si necesitas una versión de desarrollo de Django, puedes descargar e instalar Django desde su repositorio Git. Hagámoslo desde un entorno virtual.
Primero, actualicemos el índice del paquete local:
- sudo apt update
Comprueba la versión de Python que tienes instalada:
- python3 -V
OutputPython 3.10.4
A continuación, instala pip
y venv
desde los repositorios oficiales:
- sudo apt install python3-pip python3-venv
El siguiente paso es clonar el repositorio de Django. Entre versiones, este repositorio tendrá funciones más actualizadas y correcciones de errores, posiblemente a expensas de la estabilidad. Puedes clonar el repositorio en un directorio llamado dentro de tu directorio de inicio escribiendo:~/django-dev
- git clone git://github.com/django/django ~/django-dev
Cambiar a este directorio:
- cd ~/django-dev
Cree un entorno virtual utilizando el python
comando que sea compatible con su versión instalada de Python:
- python3 -m venv my_env
Activarlo:
- source my_env/bin/activate
A continuación, puedes instalar el repositorio mediante pip
. La -e
opción instalará en modo “editable”, lo cual es necesario cuando se instala desde el control de versiones:
- pip install -e ~/django-dev
Puede verificar que la instalación fue exitosa escribiendo:
- django-admin --version
Output4.0.4.2
Nuevamente, la versión que usted ve mostrada puede no coincidir con la que se muestra aquí.
Ahora tienes la última versión de Django en tu entorno virtual.
Creación de un proyecto de muestra
Una vez instalado Django, puedes comenzar a crear tu proyecto. Repasaremos cómo crear un proyecto y probarlo en tu servidor de desarrollo mediante un entorno virtual.
Primero, crea un directorio para tu proyecto y cámbialo:
- mkdir ~/django-test
- cd ~/django-test
A continuación, crea tu entorno virtual:
- python3 -m venv my_env
Activar el entorno:
- source my_env/bin/activate
Instalar Django:
- pip install django
Para crear su proyecto, puede utilizar django-admin
el startproject
comando. Llamaremos a nuestro proyecto djangoproject
, pero puede reemplazarlo con un nombre diferente. startproject
creará un directorio dentro de su directorio de trabajo actual que incluye:
- Un script de administración,
manage.py
que puedes usar para administrar varias tareas específicas de Django. - Un directorio (con el mismo nombre que el proyecto) que incluye el código real del proyecto.
Sin embargo, para evitar tener demasiados directorios anidados, digamos a Django que coloque el script de administración y el directorio interno en el directorio actual (observe el punto final):
- django-admin startproject djangoproject .
Para migrar la base de datos (este ejemplo usa SQLite de manera predeterminada), usemos el migrate
comando con manage.py
. Las migraciones aplican cualquier cambio que hayas realizado en tus modelos de Django al esquema de tu base de datos.
Para migrar la base de datos, escriba:
- python manage.py migrate
Verá un resultado como el siguiente:
OutputOperations to perform: Apply all migrations: admin, auth, contenttypes, sessionsRunning 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
Por último, vamos a crear un usuario administrativo para que puedas utilizar la interfaz de administración de Djano . Hagámoslo con el createsuperuser
comando:
- 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.
Modificación de ALLOWED_HOSTS en la configuración de Django
Para probar con éxito su aplicación, necesitará modificar una de las directivas en la configuración de Django.
Abra el archivo de configuración escribiendo:
- nano ~/django-test/djangoproject/settings.py
Dentro, busque la ALLOWED_HOSTS
directiva . Esta define una lista de direcciones o nombres de dominio que se pueden usar 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 configure esto para evitar una determinada clase de vulnerabilidad de seguridad.
Entre corchetes, incluya las direcciones IP o los nombres de dominio asociados con su servidor Django. Cada elemento debe aparecer entre comillas, con entradas separadas por una coma. Si desea recibir solicitudes para un dominio completo y cualquier subdominio, anteponga un punto al comienzo de la entrada:
~/django-test/djangoproject/configuraciones.py
ALLOWED_HOSTS = ['your_server_ip_or_domain', 'your_second_ip_or_domain', . . .]
Cuando haya terminado, guarde el archivo y salga del editor.
Prueba del servidor de desarrollo
Una vez que tenga un usuario, puede iniciar el servidor de desarrollo de Django para ver cómo se ve un nuevo proyecto de Django. Solo debe usarlo para fines de desarrollo. Cuando esté listo para implementar, asegúrese de seguir cuidadosamente las pautas de implementación de Django .
Antes de probar el servidor de desarrollo, asegúrese de abrir el puerto adecuado en su firewall. Si siguió la guía de configuración inicial del servidor y está usando UFW, puede abrir el puerto 8000
escribiendo lo siguiente:
- sudo ufw allow 8000
Inicie el servidor de desarrollo:
- python manage.py runserver your_server_ip:8000
Visita la dirección IP de tu servidor seguida de :8000
en tu navegador web:
http://your_server_ip:8000
Deberías ver algo parecido a esto:
Para acceder a la interfaz de administración, agregue /admin/
al final de su URL:
http://your_server_ip:8000/admin/
Esto te llevará a una pantalla de inicio de sesión:
Si ingresa el nombre de usuario y la contraseña de administrador que acaba de crear, tendrá acceso a la sección de administración principal 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 haya terminado de navegar por el sitio predeterminado, puede detener el servidor de desarrollo escribiendo CTRL-C
en su terminal.
El proyecto de Django que ha creado proporciona la base estructural para diseñar un sitio más completo. Consulte la documentación de Django para obtener más información sobre cómo crear sus aplicaciones y personalizar su sitio.
Conclusión
Ahora deberías tener Django instalado en tu servidor Ubuntu 22.04, lo que te proporcionará las herramientas principales que necesitas para crear aplicaciones web potentes. También deberías saber cómo iniciar un nuevo proyecto y lanzar el servidor de desarrolladores. Aprovechar un marco web completo como Django puede ayudarte a acelerar el desarrollo, permitiéndote concentrarte solo en los aspectos únicos de tus aplicaciones.
Si desea obtener más información sobre cómo trabajar con Django, incluidos debates en profundidad sobre cuestiones como modelos y vistas , consulte nuestra serie de desarrollo de Django .
Deja una respuesta