oujood.com

Django - Créer une page d'erreur 404

L'erreur 404 se produit lorsque l'URL invoquée n'existe pas ou n'a pas encore été définie. C'est ce qu'on appelle communément l'erreur Page does not exist ou page not found
Une page d'erreur est créée pour traiter les demandes provenant des URL non définies d'un site Web. Si ces types d'URL sont demandés par l'utilisateur, cette page d'erreur est exécutée pour indiquer à l'utilisateur que la page n'existe pas et que vous pouvez le rediriger vers une autre URL comme la page d'accueil. En utilisant cette technique, nous pouvons également améliorer le référencement de notre site Web.

chercher |

Django 404 Page non trouvée (page not found)

Si vous essayez d'accéder à une page qui n'existe pas (une erreur 404), Django vous dirige vers une vue intégrée qui gère les erreurs 404.

Vous apprendrez comment personnaliser cette vue 404 plus tard dans ce chapitre, mais d'abord, essayez simplement de demander une page qui n'existe pas.

Dans la fenêtre du navigateur, tapez 127.0.0.1:8000/membres/oujood/ dans la barre d'adresse.

Vous aurez un des deux cas suivants:

1. Si vous obtenez un résultat comme le montre l'image ci-dessous, alors DEBUG = True dans le fichier settings.py, et vous devez le mettre à False pour être dirigé vers le modèle 404.

Cela se fait dans le fichier settings.py, dans le dossier du projet, dans notre cas le dossier monmonde, où vous devez également spécifier le nom de l'hôte à partir duquel votre projet fonctionne (c'est-à-dire: votre l'environnement virtuel ):

page 404 deboug

Exemple :Définissez la propriété debug à False, et autorisez le projet à s'exécuter depuis votre hôte local :

monmonde/settings.py :

  Copier le code


# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = False

ALLOWED_HOSTS = ['*']
2. Si vous avez obtenu un résultat comme le montre l'image ci-dessous, alors vous avez été dirigé vers le modèle 404 intégré de Django:

page 404 deboug

Nous allons créer une simple page d'erreur 404 pour notre application. suivez les étapes suivante: Étape 1 : Allez dans le fichier settings.py de votre application et changez comme le montre le code ci-dessus.

Étape 2 : Allez dans le fichier urls.py de votre application et mettez le code ci-dessous :

Fichier membres/urls.py

  Copier le code

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('admin/', admin.site.urls),
    path('membres/', include('membres.urls')),
]
# handling the 404 error
handler404 = 'pages.views.error_404_view'
Étape 3 : Ensuite, ouvrez le views.py de votre application et ajoutez le code ci-dessous : Fichier membres/views.py

  Copier le code

from django.conf import settings
from django.shortcuts import redirect
 
 
def error_404_view(request, exception):
   
# nous ajoutons le chemin vers le fichier 404.html
# ici. Le nom de notre fichier HTML est 404.html
    return render(request, '404.html')
Étape 4 : Il ne reste plus qu'à ajouter la page HTML à votre page modèle et votre travail est terminé. Fichier membres/templates/404.html

  Copier le code

{% load static %}
<!DOCTYPE html>
<!--[if IE 8 ]>
<html class="no-js oldie ie8" lang="fr">
<![endif]-->
<!--[if IE 9 ]>
<html class="no-js oldie ie9" lang="fr">
	<![endif]-->
	<!--[if (gte IE 9)|!(IE)]><!-->
<html class="no-js" lang="fr">
		<!--<![endif]-->
<head>
	<!--- Besoins de base de la page-->
	<meta charset="utf-8">
	<title>Erreur 404</title>
	<link href="{% static 'img/Demo/favicon.png' %}" rel="shortcut icon"/>
	<meta charset="UTF-8" />
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<meta name="description" content="Django 404 Page non trouvée (page not found)">
	<meta name="author" content="oujood.com">
	<!-- métas spécifiques aux mobiles -->
	<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
</head>
<body>		
	<!-- navigation
	================================================== -->
	
	<nav>
	<h5>Pages du site</h5>
	<ul>
		<li><a href="" title="">Home</a></li>
		<li><a href="" title="">About</a></li>
		<li><a href="" title="">Contact</a></li>
	</ul>
	<h5>Un contenu </h5>
	<p>Lorem ipsum Non non Duis adipisicing pariatur eu enim Ut in aliqua dolor esse .</p>
	</nav>

	<!-- main content
	================================================== -->
	<main>
	<div>
		<div></div>
		<div>
				<div>
				<h1>Erreur 404.</h1>
				<p>
					Oooooops ! On dirait que rien n'a été trouvé à cet endroit.<br>
					Essayez peut-être l'un des liens ci-dessous, cliquez sur le menu en haut<br><br>
					ou essayez une recherche :
				</p>

		<div><form><input type="text" placeholder="Tapez Votre recherche ici" id="in" style="width:70%;margin-left:5rem"> 
			<span id="serch" onclick="getValue();" style="padding:5px;">
			<img src="//www.oujood.com/images/search.svg" alt="search"> 
			</span>| <button type="reset">X</button><script>
				function getValue() {
				var input = document.getElementById("in").value;
				var url='https://www.google.com/search?q=' + input +  '++site%3Awww.oujood.com';
				window.open('https://www.google.com/search?q=' + input + '++site%3Awww.oujood.com');   
			}</script></form></div>
				</div>				
		</div>
		<footer>										
		</footer>
	</div>
	</main>
</body>
</html>
Et voilà une page personalisé que vous pouvez améliorer comme vous vouvolez.



Voir aussi nos tutoriel :

Syntaxe jQuery

Syntaxe jQuery

Elément XSLT XSL template

Elément XSLT XSL template

L'attribut lang

Spécifie la langue du contenu de l'élément