Aprenda cómo activar efectivamente el modo de mantenimiento en su aplicación Django mientras garantiza una experiencia perfecta para sus usuarios.

Poner su aplicación Django en modo de mantenimiento es crucial cuando realiza actualizaciones, resuelve problemas técnicos o realiza cambios significativos en su aplicación.

Al restringir temporalmente el acceso de los usuarios y mostrar una página de mantenimiento, puede comunicar mensajes importantes, garantizar un proceso de actualización fluido y evitar posibles conflictos o pérdidas de datos.

Ya sea que sea un desarrollador o un administrador de sistemas, comprender cómo implementar el modo de mantenimiento en Django le permitirá mantener una aplicación confiable y fácil de usar.

Cómo usar el paquete Django-Maintenance-Mode

Debido a su amplio soporte comunitario, Django ofrece una amplia gama de paquetes que pueden mejorar significativamente su proceso de desarrollo, lo que permite un trabajo más rápido y eficiente. Estos paquetes alivian la carga de las tareas repetitivas y garantizan una experiencia más fluida para usted como desarrollador.

instagram viewer

Uno de los paquetes provistos por Django es el Django-mantenimiento-modo paquete que puede usar para poner su aplicación Django en modo de mantenimiento. El Django-mantenimiento-modo El paquete funciona mostrando una página para el 503Código de estado HTTP. Puedes usar Django-mantenimiento-modo en su aplicación con los siguientes pasos.

Paso 1: Instale Django-Maintenance-Mode en su entorno virtual

  1. En tus entorno virtual del proyecto, instale el paquete con el administrador de paquetes pip de Python. Ejecute este comando en su interfaz de línea de comandos (CLI):
    pip install Django-mantenimiento-modo
  2. Después de instalar el paquete, agregue modo_mantenimiento hacia APLICACIONES_INSTALADAS lista en tu configuración.py archivo:
    APLICACIONES_INSTALADAS = [
    # algunas otras aplicaciones,
    'modo_mantenimiento',
    ]
  3. A continuación, agregue el middleware para Django-mantenimiento-modo hacia MEDIO AMBIENTE lista en tu configuración.py archivo:
    MEDIO AMBIENTE = [
    # algún otro middleware de django,
    'modo_mantenimiento.middleware. Modo de mantenimientoMiddleware',
    ]

Paso 2: cree una plantilla HTML para mostrar el mensaje del modo de mantenimiento

Para el Django-mantenimiento-modo paquete para mostrar una página de error 503, busca un 503.html archivo de plantilla en el plantillas directorio. Para configurar esto, haga lo siguiente:

  1. Crea una carpeta llamada plantillas en su directorio raíz.
  2. Abra su recién creado plantillas carpeta y crear un archivo llamado 503.html.
  3. En tus configuración.py archivo, busque el PLANTILLAS ajustes y configurar el DIRS lista en ella de esta manera:
    'DIRS': [BASE_DIR/'plantillas'],
  4. Abre tu 503.html y escriba el código HTML para mostrar un mensaje de error a sus usuarios. Aquí hay un código simple que puede usar:
    html>
    <html>
    <cabeza>
    <metajuego de caracteres="UTF-8">
    <título>503 Servicio no Disponibletítulo>
    <estilo>
    cuerpo {
    familia tipográfica: Arial, sans-serif;
    color de fondo: #f5f5f5;
    margen: 0;
    relleno: 0;
    }

    .contenedor-503 {
    ancho máximo: 600px;
    margen: 100px automático;
    alineación de texto: centro;
    }

    h1 {
    tamaño de fuente: 48px;
    color: #333333;
    margen inferior: 20px;
    }

    pag {
    tamaño de fuente: 18px;
    color: #666666;
    margen inferior: 30px;
    }

    .btn-503 {
    pantalla: bloque en línea;
    relleno: 12px 24px;
    color de fondo: #007bff;
    color: #ffffff;
    texto-decoración: ninguno;
    borde-radio: 4px;
    tamaño de fuente: 18px;
    }
    estilo>
    cabeza>
    <cuerpo>
    <divisiónclase = "contenedor-503">
    <h1>503 Servicio no Disponibleh1>
    <pag>
    ¡Ups! Actualmente estamos trabajando en algunas actualizaciones.
    Pedimos disculpas por las molestias y agradecemos su paciencia.
    pag>
    <pag>Visite el sitio web más tarde o comuníquese con nuestro equipo de soportepag>
    <ahref = "mailto: [email protected]"clase = "btn-503">
    Soporte de contacto
    a>
    división>
    cuerpo>
    html>

Paso 3: active el modo de mantenimiento y reinicie su servidor

En tus configuración.py archivo, agregue este código para activar el modo de mantenimiento:

MODO_MANTENIMIENTO = Verdadero

Reinicie su servidor de desarrollo ejecutando esto en su CLI:

python manage.py servidor de ejecución

Cuando navegue a su sitio web, debería ver la página de mantenimiento que creó.

Cómo ignorar el sitio de administración en el modo de mantenimiento de Django

Para permitir que su sitio de administración siga funcionando incluso en modo de mantenimiento, el Django-mantenimiento-modo proporciona un ajuste llamado MANTENIMIENTO_MODE_IGNORE_ADMIN_SITE. Debe agregar esta configuración en su configuración.py archivo y configúrelo en Verdadero:

MANTENIMIENTO_MODE_IGNORE_ADMIN_SITE = Verdadero

El valor predeterminado de la configuración anterior es FALSO; por lo tanto, su sitio de administración se verá afectado por la página del modo de mantenimiento si no lo configura en Verdadero.

Cómo ignorar una vista basada en funciones específicas en el modo de mantenimiento de Django

El Django-mantenimiento-modo paquete proporciona un decorador para evitar una determinada vista o página, como el Acerca de página de su sitio—de pasar al modo de mantenimiento. Para hacer esto, primero importe el decorador a su vistas.py módulo:

de modo_mantenimiento.decoradores importar force_maintenance_mode_off

Después de importar el decorador, agréguelo a su vista de esta manera:

@force_maintenance_mode_off
definitivamentever_nombre(pedido):
# realizar la lógica de vista
# nunca devolver la respuesta 503

Después de implementar el decorador correctamente, los usuarios podrán acceder a la URL de esa vista específica.

Cómo ignorar una vista específica basada en clases en el modo de mantenimiento de Django

Ignorar una vista basada en clases es similar a ignorar una vista basada en funciones. Sin embargo, el mejor enfoque es hacerlo en el urls.py archivo.

En primer lugar, debe importar el force_maintenance_mode_off decorador en tu aplicación urls.py archivo. Luego, debe incluirlo en la ruta de su URL. Aquí hay un ejemplo:

de modo_mantenimiento.decoradores importar force_maintenance_mode_off
de .puntos de vista importar Tu vista

patrones de URL = [
# nunca devolver la respuesta 503
camino('', force_maintenance_mode_off (YourView.as_view()), nombre='mi vista'),
]

Asegúrese de importar también otras cosas necesarias como camino y su vista basada en clases.

Cómo activar el modo de mantenimiento para una vista basada en funciones específicas

  1. Para activar el modo de mantenimiento para una sola vista, primero, desactive el modo de mantenimiento en su configuración.py archivo haciendo esto:
    MODO_MANTENIMIENTO = FALSO
  2. A continuación, en su vistas.py, deberías importar el force_maintenance_mode_on decorador y agréguelo a su vista:
    de modo_mantenimiento.decoradores importar force_maintenance_mode_on

    @force_maintenance_mode_on
    definitivamentever_nombre(pedido):
    # Realizar lógica de vista
    # Siempre devolver la respuesta 503

Cómo activar el modo de mantenimiento para una vista específica basada en clases

  1. Primero, debe desactivar el modo de mantenimiento en su configuración.py archivo:
    MODO_MANTENIMIENTO = FALSO
  2. A continuación, en su urls.py, debe importar el force_maintenance_mode_on decorador y agréguelo a la ruta URL requerida:
    de modo_mantenimiento.decoradores importar force_maintenance_mode_on
    de .puntos de vista importar Tu vista

    patrones de URL = [
    # Siempre devolver la respuesta 503
    camino('', force_maintenance_mode_on (YourView.as_view()), nombre='mi vista'),
    ]

Cómo usar un nombre de plantilla diferente para el modo de mantenimiento de Django

Por defecto, el Django-mantenimiento-modo paquete busca un plantillas/503.html plantilla. Puede decidir anular esto en el configuración.py archivo.

Suponga que tiene una carpeta separada para manejar errores en su aplicación; querrás incluir tu 503.html plantilla en esta carpeta. Entonces su plantilla estará en plantillas/errores/503.html.

La configuración predeterminada para esta configuración es esta:

MANTENIMIENTO_MODE_TEMPLATE = "503.html"

Para anularlo, debe agregar una ruta diferente que apunte a su página de error. Aquí hay un ejemplo:

MANTENIMIENTO_MODE_TEMPLATE = "errores/503.html"

También puede cambiar el nombre del archivo si lo desea, y todo funcionará bien si agrega las configuraciones necesarias.

Aparte de las configuraciones anteriores, el Django-mantenimiento-modo El paquete proporciona otras configuraciones interesantes para ayudarlo a personalizar el modo de mantenimiento de su aplicación según sus necesidades específicas. Puede leer acerca de estas configuraciones en el documentación del modo de mantenimiento de Django.

Use el modo de mantenimiento para garantizar actualizaciones perfectas y una experiencia de usuario mejorada en su aplicación

Aprovechar el modo de mantenimiento en su aplicación puede facilitarle las cosas a usted y a sus usuarios. Al deshabilitar temporalmente el acceso a la totalidad o parte de su aplicación durante las actualizaciones o las tareas de mantenimiento, puede minimizar las interrupciones y los errores que pueden surgir de las interacciones simultáneas de los usuarios.

El uso del modo de mantenimiento no solo le permitirá realizar las actualizaciones necesarias de manera eficiente, sino que también demuestra el compromiso de brindar una experiencia fluida e ininterrumpida a sus usuarios.

Además del modo de mantenimiento, también puede proporcionar plantillas personalizadas para otros errores en Django.