Post-Criando Paginas Personalizadas para os erros 404 e  500 em seu Projeto Django

Autor: saviodiow

Vizualizações: 227

Data de publicação: 7 de Janeiro de 2024 às 01:13

Criando Paginas Personalizadas para os erros 404 e  500 em seu Projeto Django

Criar páginas personalizadas para os erros 404 e 500 em um projeto Django pode ser feito de maneira relativamente simples. Vamos criar essas páginas usando as views e templates do Django. Aqui está um exemplo:

  1. Crie os templates:

    Primeiro, crie os templates para as páginas de erro. No diretório templates do seu aplicativo Django, crie dois arquivos: 404.html e 500.html. Certifique-se de adicionar alguma mensagem informativa ou design personalizado a esses arquivos para tornar as páginas mais amigáveis.

    <!-- templates/404.html -->
    <!DOCTYPE html>
    <html>
    <head>
        <title>Página não encontrada</title>
    </head>
    <body>
        <h1>Oops! Página não encontrada.</h1>
        <p>A página que você está procurando pode ter sido removida ou não está disponível.</p>
    </body>
    </html>
    
    <!-- templates/500.html -->
    <!DOCTYPE html>
    <html>
    <head>
        <title>Erro interno do servidor</title>
    </head>
    <body>
        <h1>Desculpe, algo deu errado.</h1>
        <p>Estamos trabalhando para corrigir o problema. Tente novamente mais tarde.</p>
    </body>
    </html>
    
  2. Atualize as configurações do Django:

    No arquivo settings.py do seu projeto, adicione as configurações para as páginas de erro personalizadas.

    # settings.py
    
    DEBUG = False  # Certifique-se de definir DEBUG como False em produção
    
    # Configuração para página não encontrada (404)
    handler404 = 'seu_app.views.pagina_nao_encontrada'
    
    # Configuração para erro interno do servidor (500)
    handler500 = 'seu_app.views.erro_servidor'
    
  3. Crie as views correspondentes:

    Agora, crie as views no arquivo views.py do seu aplicativo para lidar com essas páginas de erro.

    # views.py
    from django.shortcuts import render
    
    def pagina_nao_encontrada(request, exception):
        return render(request, '404.html', status=404)
    
    def erro_servidor(request):
        return render(request, '500.html', status=500)
    

    Lembre-se de importar essas views no seu arquivo urls.py para que o Django saiba como lidar com esses erros.

    # urls.py
    from django.urls import path
    from .views import pagina_nao_encontrada, erro_servidor
    
    urlpatterns = [
        # suas outras rotas
    ]
    
    # Adicione as rotas de erro no final
    handler404 = 'seu_app.views.pagina_nao_encontrada'
    handler500 = 'seu_app.views.erro_servidor'
    

    Agora, quando ocorrer um erro 404 ou 500 em seu aplicativo Django, as páginas personalizadas que você criou serão exibidas. Certifique-se de ajustar o conteúdo e o design das páginas conforme necessário para atender às necessidades específicas do seu projeto.