Mi Diario Python

Cómo instalar y configurar Django en Ubuntu 20.04

Hoy veremos cómo instalar y configurar Django en un servidor Ubuntu en el Hosting de Clouding.io

Índice

    ¿Por qué utilizar Django?

    Es rápido y sencillo

    Uno de los principales objetivos de Django es simplificar el trabajo de los desarrolladores. Para hacer eso, el framewok Django usa:

    Es seguro

    La seguridad también es una alta prioridad para Django. Tiene uno de los mejores sistemas de seguridad listos para usar y ayuda a los desarrolladores a evitar problemas de seguridad comunes, incluidos:

    Django lanza rápidamente nuevos parches de seguridad. Por lo general, es el primero en responder a las vulnerabilidades y alertar a otros frameworks.

    Se adapta a cualquier proyecto de aplicación web

    Con Django, puede abordar proyectos de cualquier tamaño y capacidad, ya sea un sitio web simple o una aplicación web de alta carga. ¿Por qué usar Django para su proyecto? Porque:

    Está bien establecido

    Django ha sido probado permanentemente por la multitud de usuarios que lo utilizan. Tiene una gran comunidad de apoyo a la que se accede a través de numerosos foros, canales y sitios web dedicados. Es fácil encontrar ayuda cuando hay una función problemática en el código y encontrar desarrolladores si su empresa está buscando basar el próximo proyecto en Django.

    Django comenzó con una excelente documentación, la mejor de cualquier otro framework de código abierto. Y todavía se mantiene en un alto nivel, actualizado junto con las nuevas funciones y correcciones, para que pueda adaptarse fácilmente a los cambios.

    Puede confiar en que cualquier problema con el framework se resolverá tan pronto como surja. El software se actualiza constantemente y se lanzan nuevos paquetes para que trabajar con Django sea más conveniente de lo que ya es.

    Instalar y configurar Django en Clouding

    Lo primero que debemos hacer es crearnos un servidor (en este caso se creará un servidor Ubuntu)

    Agregaremos un nombre para nuestro servidor (en nuestro caso “Demo Django”) y luego si queremos pagar por hora o por mes (en nuestro caso de ejemplo lo dejaremos por hora).

    También tendremos que agregar la configuración de nuestro equipo (en mi caso dejaré todo por defecto) pero puedes cambiar el tamaño de la Ram, Procesadores y Discos de Estados Sólido. También podrás activar la opción de Backups automáticos, red privada y ajustes de acceso.

    Luego de confirmar, veremos en nuestro panel de servidores el servidor que acabamos de crear:

    El próximo paso será acceder al servidor y realizar las instalaciones y configuraciones correspondientes para levantar Django.

    Para eso pinchamos sobre el nombre del Servidor (en mi caso “Demo Django”) y vamos hasta la opción “Cómo acceder al Servidor

    De acá nos interesa el nombre del Host o IP, el usuario Linux y la contraseña.

    Vamos a utilizar un cliente SSH (en mi caso Putty) para ingresar al servidor que hemos creado.

    Pondremos en Host Name o IP los datos de nuestro server y nos conectamos. Una vez se abra la consola debemos agregar el usuario root y la contraseña.

    Llegó la hora hora de las actualizaciones y configuraciones.

    Instalación de Django con pip en un entorno virtual

    1. Actualice el índice de su paquete local con apt

    apt update

    2. Comprueba qué versión de Python tienes instalada. La versión que se envía actualmente con Ubuntu 20.04 es Python 3.8.5:

    root@Django:~# python3 -V
    Python 3.8.5

    3. Instalar pip desde los repositorios de Ubuntu

    apt install python3-pip python3-django

    4. Instale el paquete venv con pip

    apt install python3-venv

    5. Una vez hecho esto, ahora puede iniciar un nuevo proyecto en Django. Recuerde que cada vez que inicie un nuevo proyecto, comience creando y moviéndose a un nuevo directorio de proyecto.

    mkdir ~/demoDjango
    cd ~/demoDjango

    6. Cree un entorno virtual dentro del directorio del proyecto con el comando de python que sea compatible con su versión de Python. Llamaremos a nuestro entorno virtual my_env

    python3.8 -m venv my_env

    Esto instalará versiones independientes de Python y 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.

    7. Para instalar paquetes en el entorno aislado, debe activarlo escribiendo:

    source my_env/bin/activate

    Su mensaje debería cambiar para reflejar que ahora se encuentra en su entorno virtual. Se verá algo como:

    (my_env) root@Django:~/demoDjango#

    8. En su entorno, instale Django con pip

    pip install django

    9. Verifique la versión instalada

    django-admin --version

    que regresa

    (my_env) root@Django:~/demoDjango# django-admin --version
    3.1

    10. Para crear su proyecto, use django-admin <comando> [opciones], que es la utilidad de línea de comandos de Django para tareas administrativas. En cada proyecto de Django, se crea automáticamente un archivo manage.py.

    El comando startproject permite crear un nuevo proyecto. El comando crea un directorio dentro de su directorio de trabajo actual que incluye:

    11. Crea tu proyecto (myDjangoProject). Agregue un punto al final del comando para colocar el script de administración y el directorio interno en el directorio actual.

    django-admin startproject myDjangoProject .

    12. Migre la base de datos (este ejemplo usa SQLite por defecto) usando el comando migrate con manage.py. Las migraciones aplican cualquier cambio que hayas hecho a tus modelos de Django al esquema de tu base de datos.

    python manage.py migrate

    que regresa

    Operations 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 sessions.0001_initial... OK

    13. Cree un usuario administrativo para que pueda utilizar la interfaz de administración de Django mediante el comando createuperuser

    python manage.py createsuperuser

    14. Responde las indicaciones que le pedirán:

    Username (leave blank to use 'root'): scaleway
    Email address: usertest@example.com
    Password:
    Password (again):
    Superuser created successfully.

    Modificar la configuración de Django

    1. Abra el archivo de configuración

    nano myDjangoProject/settings.py

    Para probar su aplicación, deberá modificar una de las directivas en la configuración de Django. Busque la directiva ALLOWED_HOSTS para definir las direcciones o los nombres de dominio que se pueden usar para conectarse a la instancia de Django.

    2. Enumere las direcciones IP o los nombres de dominio que están asociados con su servidor Django.

    Nota: Cada elemento debe aparecer entre comillas, con entradas separadas separadas por una coma.

    ALLOWED_HOSTS = ['your_server_ip_or_domain', 'your_second_ip_or_domain', . . .]

    3. Guarda el archivo y cierre.

    Prueba en el servidor de desarrollo

    Importante: antes de probar el servidor de desarrollo, asegúrese de abrir el puerto apropiado en su firewall. Si siguió la guía de configuración inicial del servidor y está utilizando UFW, puede abrir el puerto 8000 escribiendo: ufw allow 8000

    1. Inicie el servidor de desarrollo

    python manage.py runserver your_server_ip:8000

    2. Visite la dirección IP de su servidor seguida de: 8000 en su navegador web http: // your_internal_server_ip: 8000

    3. Agregue /admin/ al final de su URL. Aparece la página de inicio de sesión.

    4. Ingrese su nombre de usuario y contraseña. Aparece la página de administración.

    El proyecto de Django que hemos creado (Instalar y configurar Django) 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.

    Salir de la versión móvil