Mejore la apariencia de su aplicación Django desarrollando una página de error 404 personalizada en lugar de confiar en la simple página predeterminada.
Las páginas de error son comunes con las aplicaciones web. Los colaboradores de Django han proporcionado páginas predeterminadas para algunos de estos errores, como el error 404 (No encontrado). Pero como desarrollador, es mejor tener una página de error que siga los principios de diseño del resto de su aplicación web.
Crear una página 404 personalizada en Django
El error 404 es parte de varios Códigos de estado HTTP utilizado por el navegador para indicar la respuesta del servidor a las solicitudes del navegador realizadas por un usuario. Django proporciona plantillas predeterminadas para algunos de estos códigos de estado, y la página de error 404 predeterminada en Django se ve así:
La imagen de arriba no se ve bien y la mayoría de las empresas no la aceptarán fácilmente en su sitio web. Para cambiar esta página a una página 404 personalizada de su elección, debe seguir los pasos que se detallan a continuación.
Paso 1: Cree una vista para manejar el error 404
Abre tu vistas.py y cree una vista para la página de error 404. Esta vista debería devolver una plantilla que contenga el diseño de su página de error 404 personalizada. Aquí hay una vista simple de Django que puede usar en su proyecto:
de django.atajos importar prestar
# vista personalizada 404
definitivamentepersonalizado_404(solicitud, excepción):
devolver hacer (pedir, '404.html', estado=404)
El fragmento de código anterior es un función de pitón (preferiblemente llamada vista Django en este caso) que toma dos argumentos de función; pedido, y excepción. El segundo argumento—excepción: le permite acceder al objeto de excepción que desencadenó el error 404.
Deberías reemplazar el '404.html' en la vista anterior con la ruta correcta a su página de plantilla HTML de error 404.
Paso 2: crea una plantilla para tu error 404
Cree un nuevo archivo HTML que contenga su diseño personalizado para la página de error 404. El diseño debe ser consistente con el resto de su aplicación. Aquí hay una plantilla HTML simple que puede usar en su proyecto. Debe modificar esta plantilla como mejor le parezca:
plantilla 404.html
html>
<htmlidioma="es">
<cabeza>
<metajuego de caracteres="UTF-8">
<metanombre="ventana de visualización"contenido="ancho=ancho-del-dispositivo, escala-inicial=1.0">
<título>404 Pagina no encontradatítulo>
<enlace
importar Bootstrap
href=" https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"
rel="hoja de estilo"
integridad="sha384-KK94CHFLLe+nY2dmCWGMq91rCGa5gtU4mk92HdvYe+M/SXH301p5ILy+dN9+nJOZ"
crossorigin="anonimo">
CSS personalizado
<estilo>
cuerpo {
pantalla: flexible;
dirección de flexión: columna;
justificar-contenido: centro;
alinear elementos: centro;
altura: 100vh;
familia tipográfica: Arial, sans-serif;
}.envase {
alineación de texto: centro;
ancho máximo: 600px;
}.emoji {
tamaño de fuente: 8rem;
margen inferior: 20px;
}h1 {
tamaño de fuente: 3rem;
margen inferior: 20px;
}pag {
tamaño de fuente: 1,5 rem;
margen inferior: 20px;
}
.btn {
tamaño de fuente: 1,25 rem;
relleno: 10px 20px;
}
estilo>
cabeza>
<cuerpo>
<divisiónclase="envase">
<divisiónclase="emoji">😕división>
<h1>¡Ups! Página no encontradah1>
<pag>No pudimos encontrar la página que estabas buscando.pag>
<aclase="btn btn-primario"href="/">Vuelve a casaa>
división>
cuerpo>
html>
Paso 3: Modifique el archivo de URL de su proyecto
A nivel de su proyecto (donde su configuración.py el archivo es), abra su urls.py y apunte el controlador de error 404 a la vista que creó para manejar el error 404. El controlador de error 404 se llama handler404. Apuntar handler404 a su vista, debe seguir este formato:
manejador404 = 'nombre_aplicación.views.custom_404_view_name'
Si su aplicación se llama receta, y la vista se llama personalizado_404, entonces debe modificar el formato anterior de esta manera:
manejador404 = 'receta.views.custom_404'
Asegúrese de hacer esto a nivel de proyecto y no a nivel de aplicación. Hay diferencias entre un proyecto y una app en Django.
Paso 4: pruebe su nueva página de error 404
Para probar su nueva página de error, inicie su servidor de desarrollo y navegue a una página inexistente en su aplicación. Puede iniciar su servidor ejecutando este comando en su herramienta de línea de comandos (CLI):
python manage.py servidor de ejecución
Para que funcione el comando anterior, debe estar en el directorio raíz de su proyecto, es decir, la carpeta donde gestionar.py vidas de archivos.
Una vez que su servidor se inicie, pruebe su página 404 personalizada navegando a una página inexistente como http://127.0.0.1:8000/hello. Si ha hecho todo correctamente, debería ver su página de error 404 personalizada.
Si su página de error 404 personalizada no aparece, debería considerar verificar sus vistas para asegurarse de haber escrito la ruta correcta a su plantilla HTML en el prestar() función, ya que este es un problema común.
Las páginas de error personalizadas brindan una mejor experiencia de usuario
Tener una página de error personalizada en su aplicación mejorará la experiencia de sus usuarios cuando encuentren errores. En lugar de ver un mensaje de error genérico, una página de error personalizada puede proporcionar información más específica sobre el error y sugerir posibles soluciones.
Esto puede ayudar a los usuarios a comprender qué salió mal y cómo solucionarlo, lo que reduce la frustración y aumenta la confianza en su aplicación. También podrá hacer que la página sea inclusiva agregando funciones de accesibilidad.