Considerações de implantação

Concluído

Um aplicativo em execução em um ambiente de produção tem um conjunto diferente de necessidades e requisitos comparado a um ambiente de desenvolvimento. Em particular, as preocupações referentes à segurança e ao desempenho não são tão críticas durante o desenvolvimento quanto o são em produção. Portanto, você precisa garantir que o seu site esteja configurado corretamente antes da implantação.

O Django fornece uma lista de verificação completa das atualizações de configuração pré-implantação. As seções a seguir descrevem algumas alterações comuns que serão úteis antes de implantar seu aplicativo em produção.

Modo de depuração

Como desenvolvedor, você deseja ver todas as mensagens de erro que o aplicativo possa gerar. Mas essas informações podem fornecer insights a um invasor sobre como o aplicativo é executado, potencialmente permitindo o acesso não autorizado. Portanto, em settings.py, defina a opção DEBUG como False antes de implantar o aplicativo em produção.

Chave secreta

Para proteger informações confidenciais, o Django usa uma chave secreta para assinar os valores que não devem ser adulterados. Durante o desenvolvimento, a chave secreta é armazenada em texto não criptografado em settings.py. Durante a implantação em produção, a chave secreta deve ser lida de uma localização mais segura, como as Configurações de Aplicativos do Azure ou o Azure Key Vault.

Hosts permitidos

O arquivo settings.py contém uma lista de nomes de servidor chamados ALLOWED_HOSTS. Essa lista determina o local em que o aplicativo pode ser executado. Por padrão, a lista vazia permite que o aplicativo seja executado no localhost. Atualize essa configuração antes de implantar o aplicativo no host de produção.

Arquivos estáticos

Arquivos estáticos são arquivos que não fazem parte do sistema de modelagem do Django. Esses arquivos normalmente incluem arquivos JavaScript ou CSS. Mas também podem incluir arquivos HTML estáticos. Em particular, o site de administração usa arquivos estáticos para estilo e formatação.

Enquanto seu aplicativo está em desenvolvimento, o Django automaticamente fornece todos os arquivos estáticos. Em produção, você precisa configurar um serviço para fornecer arquivos estáticos. Uma solução comum é uma biblioteca WhiteNoise.

Durante o processo de implantação, todos os arquivos estáticos são coletados na localização indicada por STATIC_ROOT em settings.py. Eles são coletados com a execução de python manage.py collectstatic. O Azure executa esse comando automaticamente. Portanto, você não precisa executá-lo localmente antes da implantação.