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."

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Merci pour votre aide.