Bonjour, pouvez-vous m'expliquer le rôle de la fonction «bytes» à la fin du code ci-dessous svp ? Est-ce lié aux chaînes de caractères encodées (type «byte» sur Python 3) ? Aussi j'ai du mal à voir à quel endroit verra-t-on la phrase «Cette page a été vue {0} fois."
Merci pour votre aide.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 from django.db.models import F from models import Page def stats_middleware(get_response): def middleware(request): # Avant chaque exécution de la vue, on incrémente # le nombre de page vues à chaque appel de vues try: # Le compteur lié à la page est récupéré et incrémenté p = Page.objects.get(url=request.path) p.nb_visites = F('nb_visites') + 1 p.save() except Page.DoesNotExist: # Un nouveau compteur à 1 par défaut est créé p = Page.objects.create(url=request.path) # Appel de la vue Django response = get_response(request) # Une fois la vue exécutée, on ajoute à la fin le nombre # de vues de la page response.content += bytes( "Cette page a été vue {0} fois.".format(p.nb_visites), "utf8" ) # Et on retourne le résultat return response return middleware

