Melhore a aparência do seu aplicativo Django desenvolvendo uma página de erro 404 personalizada em vez de confiar na página padrão simples.

As páginas de erro são comuns em aplicativos da web. Os colaboradores do Django forneceram páginas padrão para alguns desses erros, como o erro 404 (Not Found). Mas, como desenvolvedor, é melhor ter uma página de erro que siga os princípios de design do restante de seu aplicativo da web.

Criando uma página 404 personalizada no Django

O erro 404 faz parte dos diversos Códigos de status HTTP usado pelo navegador para indicar a resposta do servidor às solicitações do navegador feitas por um usuário. O Django fornece modelos padrão para alguns desses códigos de status, e a página de erro 404 padrão no Django se parece com isso:

A imagem acima não parece bonita e a maioria das empresas não a aceitará prontamente em seu site. Para alterar esta página para uma página 404 personalizada de sua escolha, você deve seguir as etapas listadas abaixo.

Etapa 1: criar uma exibição para lidar com o erro 404

instagram viewer

Abre o teu views.py arquivo e crie uma exibição para a página de erro 404. Esta exibição deve retornar um modelo contendo o design para sua página de erro 404 personalizada. Aqui está uma visão Django simples que você pode usar em seu projeto:

de django.shortcuts importar renderizar

# visualização 404 personalizada
defpersonalizado_404(solicitação, exceção):
retornar renderizar (solicitação, '404.html', estado=404)

O trecho de código acima é um Função Python (preferencialmente chamado de view Django neste caso) que recebe dois argumentos de função; solicitar, e exceção. O segundo argumento—exceção— permite que você acesse o objeto de exceção que acionou o erro 404.

Você deve substituir o '404.html' na exibição acima com o caminho correto para sua página de modelo HTML de erro 404.

Etapa 2: crie um modelo para seu erro 404

Crie um novo arquivo HTML para conter seu design personalizado para a página de erro 404. O design deve ser consistente com o resto do seu aplicativo. Aqui está um modelo HTML simples que você pode usar em seu projeto. Você deve modificar este modelo como achar melhor:

 modelo 404.html 
html>
<htmlidioma="en">
<cabeça>
<metaconjunto de caracteres="UTF-8">
<metanome="janela de exibição"contente="largura=largura do dispositivo, escala inicial=1,0">
<título>404 Página Não Encontradatítulo>
<link
importar Bootstrap
href=" https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"
rel="folha de estilo"
integridade="sha384-KK94CHFLLe+nY2dmCWGMq91rCGa5gtU4mk92HdvYe+M/SXH301p5ILy+dN9+nJOZ"
crossorigin="anônimo">
CSS customizado
<estilo>
corpo {
exibição: flexível;
flex-direction: coluna;
justificar-conteúdo: centro;
itens de alinhamento: centro;
altura: 100vh;
família da fonte: Arial, sem serifa;
}

.container {
alinhamento de texto: centro;
largura máxima: 600px;
}

.emoji {
tamanho da fonte: 8rem;
margem inferior: 20px;
}

h1 {
tamanho da fonte: 3rem;
margem inferior: 20px;
}

p {
tamanho da fonte: 1,5 rem;
margem inferior: 20px;
}

.btn {
tamanho da fonte: 1,25 rem;
preenchimento: 10px 20px;
}
estilo>
cabeça>
<corpo>
<divaula="recipiente">
<divaula="emoji">😕div>
<h1>Ops! Página não encontradah1>
<p>Não foi possível encontrar a página que você estava procurando.p>
<aaula="btn btn-primário"href="/">Voltar para casaa>
div>
corpo>
html>

Etapa 3: Modifique o arquivo de URLs do seu projeto

No nível do seu projeto (onde seu settings.py arquivo é), abra seu urls.py arquivo e aponte o manipulador de erro 404 para a exibição que você criou para lidar com o erro 404. O manipulador de erro 404 é chamado manipulador404. Apontar manipulador404 a seu ver, você deve seguir este formato:

manipulador404 = 'app_name.views.custom_404_view_name'

Se seu aplicativo for chamado receita, e a visão é chamada personalizado_404, então você deve modificar o formato acima assim:

manipulador404 = 'recipe.views.custom_404'

Certifique-se de fazer isso no nível do projeto e não no nível do aplicativo. Há diferenças entre um projeto e um aplicativo no Django.

Etapa 4: teste sua nova página de erro 404

Para testar sua nova página de erro, inicie seu servidor de desenvolvimento e navegue até uma página inexistente em seu aplicativo. Você pode iniciar seu servidor executando este comando em sua ferramenta de linha de comando (CLI):

python manage.py runserver

Para que o comando acima funcione, você deve estar no diretório raiz do seu projeto, ou seja, a pasta onde está o seu manage.py arquivo vive.

Depois que o servidor for iniciado, teste sua página 404 personalizada navegando para uma página inexistente, como http://127.0.0.1:8000/hello. Se você fez tudo corretamente, deverá ver sua página de erro 404 personalizada.

Se sua página de erro 404 personalizada não aparecer, considere verificar suas exibições para ter certeza de que escreveu o caminho correto para seu modelo HTML no render() função, pois este é um problema comum.

Páginas de erro personalizadas oferecem melhor experiência do usuário

Ter uma página de erro personalizada em seu aplicativo melhorará a experiência de seus usuários quando encontrarem erros. Em vez de ver uma mensagem de erro genérica, uma página de erro personalizada pode fornecer informações mais específicas sobre o erro e sugerir possíveis soluções.

Isso pode ajudar os usuários a entender o que deu errado e como corrigi-lo, reduzindo a frustração e aumentando a confiança em seu aplicativo. Você também poderá tornar a página inclusiva adicionando recursos de acessibilidade.