Bonjour à tous,

J'ai une application qui, en gros, génère un calcul qu'elle affiche dans une page html et attend la réponse de l'utilisateur. Une fois la réponse de l'utilisateur validé, on se retrouve avec un objet d'une table ayant les caractéristique suivante : nom, calcul, réponse, solution et temps de départ (quand la vue se lance et affiche le calcul), temps de fin (quand l'utilisateur envoie sa réponse). Tout fonctionne presque nickel (Les champs sont remplis comme je le veux) sauf pour les deux derniers qui sont identiques...

Ci-dessus le code de mon fichier view (la partie qui nous intéresse) :

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
global enonce, solution, message
 
enonce=calc()
solution=verif()   
message=""
 
def index(request):
    enonce=calc()
    solution=verif()
    t=datetime.now().time()
 
    if request.method == "POST":
        form = Entiers_posForm(request.POST).save()
        form.name = 'Jean-luc'
        form.time_d = t
        form.time_f = datetime.now().time()
        form.calcul = enonce
        form.solution = solution
        form.save()
        return redirect('/aa_entiers_pos')
    else:
        form = Entiers_posForm()
        t=datetime.now().time()
 
 
    enonce="Entiers positifs : "+enonce
    return render(request, 'exercices.html', {'enonce':enonce, 'message':message, 'form':form})
La fonction calc() génère le calcul et verif() donne la solution.

Ce que je ne comprend pas c'est que normalement, form.time_d correspond au moment où le calcul est généré, avec ensuite le if qui test si la page est générée pour la première fois et affiche un formulaire vide ou si le serveur vient de recevoir une requête POST (donc la réponse au calcul) et dans ce cas l'enregistre dans le champ réponse du model entiers_pos. Or là, le temps qui est gardé pour les deux est le même, celui qui correspond à la validation par l'utilisateur. Il y a quelque chose qui m'échappe.

Je met un image pour une meilleure lisibilité : https://www.dropbox.com/s/3za7lfh32t...ython.png?dl=0

PS : je débute en code, j'ai commencé html, CSS, python et Django il y a un mois environ