Aprenda como ativar efetivamente o modo de manutenção em seu aplicativo Django enquanto garante uma experiência perfeita para seus usuários.
Colocar seu aplicativo Django no modo de manutenção é crucial ao realizar atualizações, resolver problemas técnicos ou fazer alterações significativas em seu aplicativo.
Ao restringir temporariamente o acesso do usuário e exibir uma página de manutenção, você pode comunicar mensagens importantes, garantir um processo de atualização tranquilo e evitar possíveis conflitos ou perda de dados.
Seja você um desenvolvedor ou um administrador de sistema, entender como implementar o modo de manutenção no Django permitirá que você mantenha um aplicativo confiável e fácil de usar.
Como usar o pacote Django-Maintenance-Mode
Devido ao seu amplo suporte à comunidade, o Django oferece uma ampla variedade de pacotes que podem aprimorar significativamente seu processo de desenvolvimento, permitindo um trabalho mais rápido e eficiente. Esses pacotes aliviam o fardo de tarefas repetitivas, garantindo uma experiência mais tranquila para você como desenvolvedor.
Um dos pacotes fornecidos pelo Django é o Django-maintenance-mode pacote que você pode usar para colocar seu aplicativo Django no modo de manutenção. O Django-maintenance-mode pacote funciona exibindo uma página para o 503Código de status HTTP. Você pode usar Django-maintenance-mode em seu aplicativo com as seguintes etapas.
Passo 1: Instale o Django-Maintenance-Mode em seu ambiente virtual
- Na tua ambiente virtual do projeto, instale o pacote com o gerenciador de pacotes pip do Python. Execute este comando em seu interface de linha de comando (CLI):
pip install django-maintenance-mode
- Depois de instalar o pacote, adicione Modo de manutenção para o INSTALLED_APPS lista em seu settings.py arquivo:
INSTALADO_APPS = [
# alguns outros aplicativos,
'Modo de manutenção',
] - Em seguida, adicione o middleware para Django-maintenance-mode para o MIDDLEWARE lista em seu settings.py arquivo:
MIDDLEWARE = [
# algum outro middleware de Django,
'maintenance_mode.middleware. MaintenanceModeMiddleware',
]
Etapa 2: criar um modelo HTML para exibir a mensagem do modo de manutenção
Para o Django-maintenance-mode pacote para exibir uma página de erro 503, ele procura por um 503.html arquivo de modelo no modelos diretório. Para configurar isso, faça o seguinte:
- Crie uma pasta chamada modelos em seu diretório raiz.
- Abra seu recém-criado modelos pasta e crie um arquivo chamado 503.html.
- Na tua settings.py arquivo, localize o MODELOS configurações e configurar o DIRS liste assim:
'DIRS': [BASE_DIR/'modelos'],
- Abre o teu 503.html arquivo e escreva o código HTML para renderizar uma mensagem de erro para seus usuários. Aqui está um código simples que você pode usar:
html>
<html>
<cabeça>
<metaconjunto de caracteres="UTF-8">
<título>503 serviço indisponíveltítulo>
<estilo>
corpo {
família da fonte: Arial, sem serifa;
cor de fundo: #f5f5f5;
margem: 0;
preenchimento: 0;
}
.container-503 {
largura máxima: 600px;
margem: 100px automático;
alinhamento de texto: centro;
}
h1 {
tamanho da fonte: 48px;
cor: #333333;
margem inferior: 20px;
}
p {
tamanho da fonte: 18px;
cor: #666666;
margem inferior: 30px;
}
.btn-503 {
exibição: bloco em linha;
preenchimento: 12px 24px;
cor de fundo: #007bff;
cor: #ffffff;
decoração de texto: nenhum;
raio da borda: 4px;
tamanho da fonte: 18px;
}
estilo>
cabeça>
<corpo>
<divaula = "contêiner-503">
<h1>503 serviço indisponívelh1>
<p>
Ops! No momento, estamos trabalhando em algumas atualizações.
Pedimos desculpas pelo inconveniente e agradecemos sua paciência.
p>
<p>Visite o site mais tarde ou entre em contato com nossa equipe de suportep>
<ahref = "mailto: [email protected]"aula = "btn-503">
Entre em contato com o suporte
a>
div>
corpo>
html>
Etapa 3: ativar o modo de manutenção e reiniciar o servidor
Na tua settings.py arquivo, adicione este código para ativar o modo de manutenção:
MANUTENÇÃO_MODE = Verdadeiro
Reinicie seu servidor de desenvolvimento executando isto em sua CLI:
python manage.py runserver
Ao navegar em seu site, você verá a página de manutenção que criou.
Como ignorar o site de administração no modo de manutenção do Django
Para permitir que seu site de administração continue funcionando mesmo no modo de manutenção, o Django-maintenance-mode fornece uma configuração chamada MAINTENANCE_MODE_IGNORE_ADMIN_SITE. Você deve adicionar esta configuração em seu settings.py arquivo e configurá-lo para Verdadeiro:
MAINTENANCE_MODE_IGNORE_ADMIN_SITE = Verdadeiro
O valor padrão da configuração acima é Falso; portanto, seu site de administração será afetado pela página do modo de manutenção se você não configurá-lo para Verdadeiro.
Como ignorar uma exibição baseada em função específica no modo de manutenção do Django
O Django-maintenence-mode O pacote fornece um decorador para impedir uma determinada exibição ou página - como o Sobre página do seu site—de entrar no modo de manutenção. Para fazer isso, primeiro importe o decorador para o seu views.py módulo:
de Maintenance_mode.decorators importar force_maintenance_mode_off
Depois de importar o decorador, adicione-o à sua exibição assim:
@force_maintenance_mode_off
defview_name(solicitar):
# executa a lógica de exibição
# nunca retorna a resposta 503
Depois de implementar o decorador corretamente, a URL dessa exibição específica ficará acessível para seus usuários.
Como ignorar uma exibição baseada em classe específica no modo de manutenção do Django
Ignorar uma visão baseada em classe é semelhante a ignorar uma visão baseada em função. No entanto, a melhor abordagem é fazê-lo no urls.py arquivo.
Primeiro, você precisa importar o force_maintenance_mode_off decorador em seu aplicativo urls.py arquivo. Então você precisa incluí-lo em seu caminho de URL. Aqui está um exemplo:
de Maintenance_mode.decorators importar force_maintenance_mode_off
de .Visualizações importar Sua visão
urlpadrões = [
# nunca retorna a resposta 503
caminho('', force_maintenance_mode_off (YourView.as_view()), nome='minha visão'),
]
Certifique-se de importar também outras coisas necessárias, como caminho e sua visão baseada em classe.
Como ativar o modo de manutenção para uma exibição baseada em função específica
- Para ativar o modo de manutenção para uma única exibição, primeiro desative o modo de manutenção em seu settings.py arquivo fazendo isso:
MANUTENÇÃO_MODE = Falso
- A seguir, em seu views.py, você deve importar o force_maintenance_mode_on decorador e adicione-o à sua exibição:
de Maintenance_mode.decorators importar force_maintenance_mode_on
@force_maintenance_mode_on
defview_name(solicitar):
# Execute a lógica de exibição
# Sempre retorna a resposta 503
Como ativar o modo de manutenção para uma exibição baseada em classe específica
- Primeiro, você deve desativar o modo de manutenção em seu settings.py arquivo:
MANUTENÇÃO_MODE = Falso
- A seguir, em seu urls.py, você deve importar o force_maintenance_mode_on decorador e adicione-o ao caminho de URL necessário:
de Maintenance_mode.decorators importar force_maintenance_mode_on
de .Visualizações importar Sua visãourlpadrões = [
# Sempre retorna a resposta 503
caminho('', force_maintenance_mode_on (YourView.as_view()), nome='minha visão'),
]
Como usar um nome de modelo diferente para o modo de manutenção do Django
Por padrão, o Django-maintenance-mode pacote procura por um templates/503.html modelo. Você pode decidir substituir isso no settings.py arquivo.
Suponha que você tenha uma pasta separada para lidar com erros em seu aplicativo; você vai querer incluir o seu 503.html modelo nesta pasta. Portanto, seu modelo estará em templates/errors/503.html.
A configuração padrão para esta configuração é esta:
MAINTENANCE_MODE_TEMPLATE = "503.html"
Para substituí-lo, você deve adicionar um caminho diferente apontando para sua página de erro. Aqui está um exemplo:
MAINTENANCE_MODE_TEMPLATE = "erros/503.html"
Você também pode alterar o nome do arquivo, se quiser, e tudo funcionará bem se você adicionar as configurações necessárias.
Além das configurações acima, o Django-maintenance-mode O pacote fornece outras configurações interessantes para ajudá-lo a personalizar o modo de manutenção do seu aplicativo para sua necessidade específica. Você pode ler sobre essas configurações no Django-maintenance-mode documentação.
Use o modo de manutenção para garantir atualizações contínuas e uma experiência de usuário aprimorada em seu aplicativo
Aproveitar o modo de manutenção em seu aplicativo pode facilitar as coisas para você e seus usuários. Desativando temporariamente o acesso a todo ou parte do seu aplicativo durante atualizações ou tarefas de manutenção, você pode minimizar interrupções e erros que possam surgir de interações simultâneas do usuário.
O uso do modo de manutenção não apenas permitirá que você execute as atualizações necessárias com eficiência, mas também demonstra o compromisso de fornecer uma experiência tranquila e ininterrupta para seus usuários.
Além do modo de manutenção, você também pode fornecer modelos personalizados para outros erros no Django.