Consideraciones de la implementación

Completado

Una aplicación que se ejecuta en un entorno de producción tiene un conjunto distinto de necesidades y requisitos que el que hay en un entorno de desarrollo. En concreto, los problemas de seguridad y de rendimiento no son tan críticos durante el desarrollo como lo son en producción. Por lo tanto, debe asegurarse de que el sitio web está configurado correctamente antes de la implementación.

Django proporciona una completa lista de comprobación de las actualizaciones de configuración previas a la implementación. En las secciones siguientes se describen algunos cambios comunes que querrá realizar antes de implementar la aplicación en producción.

Modo de depuración

Como desarrollador, quiere ver los mensajes de error que puede generar la aplicación. Sin embargo, esta información puede proporcionar a un atacante información sobre cómo se ejecuta la aplicación, lo que podría permitir el acceso no autorizado. Por lo tanto, en settings.py, establezca la opción DEBUG en False antes de implementar la aplicación en producción.

Clave secreta

Para proteger la información confidencial, Django usa una clave secreta para firmar los valores que no se deben alterar. Durante el desarrollo, la clave secreta se almacena en texto no cifrado en settings.py. Cuando se implementa en producción, la clave secreta se debe leer desde una ubicación más segura, como Configuración de App de Azure o Azure Key Vault.

Hosts permitidos

El archivo settings.py contiene una lista de nombres del servidor denominada ALLOWED_HOSTS. Esta lista determina el lugar desde el que se puede ejecutar la aplicación. De manera predeterminada, la lista vacía permite que la aplicación se ejecute desde localhost. Actualice esta configuración antes de implementar en el host de producción.

Archivos estáticos

Los archivos estáticos son archivos que no forman parte del sistema de plantillas de Django. Normalmente, estos archivos incluyen archivos JavaScript o CSS. Pero también podrían incluir archivos HTML estáticos. En concreto, el sitio de administración utiliza archivos estáticos para el estilo y el formato.

Mientras la aplicación está en desarrollo, Django sirve automáticamente los archivos estáticos. En producción, debe configurar un servicio para que sirva cualquier archivo estático. Una solución común es una biblioteca WhiteNoise.

Durante el proceso de implementación, todos los archivos estáticos se recopilan en la ubicación que indica STATIC_ROOT en settings.py. Se recopilan mediante la ejecución de python manage.py collectstatic. Azure ejecuta este comando automáticamente, por lo que no es necesario ejecutarlo localmente antes de la implementación.