From a7e3139fdf4e046b5bc8104aa0d96f3a79210140 Mon Sep 17 00:00:00 2001 From: Christophe SCAYA <> Date: Tue, 5 Apr 2022 14:22:03 +0200 Subject: [PATCH] Gestion de la correction --- .../templates/quiz_atomes/resultats.html | 28 +++++++++++++++++-- quiz_atomes/views.py | 26 +++++++++++------ 2 files changed, 44 insertions(+), 10 deletions(-) diff --git a/quiz_atomes/templates/quiz_atomes/resultats.html b/quiz_atomes/templates/quiz_atomes/resultats.html index 0dc40c8..4fbee91 100644 --- a/quiz_atomes/templates/quiz_atomes/resultats.html +++ b/quiz_atomes/templates/quiz_atomes/resultats.html @@ -8,7 +8,25 @@
-

POINTS : {{points}}

+

POINTS : {{points}} 

+
+ + + + + + + + + {% if correction %}{% for atome in correction %} + + + + + {% endfor %}{% endif %} + +
AtomeSymbolePoints
{{atome.0}}{% if atome.3 == "-10" %}{{atome.1}} {% endif %}{{atome.2}}{{atome.3}}
+

TEMPS : {{dt}}

SCORE : {{score}}

{% if best_score %}

 Nouveau 
meilleur score !
 

{% else %} @@ -23,4 +41,10 @@
- {% endblock %} + {% endblock %}{% block 'extra_scripts' %}{% load static %} + +{% endblock %} diff --git a/quiz_atomes/views.py b/quiz_atomes/views.py index 320326d..f763a9c 100644 --- a/quiz_atomes/views.py +++ b/quiz_atomes/views.py @@ -32,16 +32,12 @@ def quiz_atomes(request): if 'pseudo' not in request.session or 'difficulte' not in request.session: return redirect('settings') - atome_list = Atome.objects.all() + atome_list = Atome.objects.all().values() random_list = list(atome_list) shuffle(random_list) random_list = random_list[:int(request.session['difficulte'])] - - symbole_list = [] - for x in random_list: - symbole_list.append(x.symbole) - - request.session['quiz'] = symbole_list + + request.session['quiz'] = random_list request.session['time'] = time.time() template = loader.get_template('quiz_atomes/quiz_atomes.html') @@ -55,16 +51,29 @@ def quiz_atomes(request): def resultats(request): + resultats = [] points = 0 dt = round(time.time()-request.session['time']-1)*-1 for i in range(int(request.session['difficulte'])): - if request.POST.get('input'+str(i+1)).casefold()==request.session['quiz'][i].casefold(): + current = [request.session['quiz'][i]['nom'],'',request.session['quiz'][i]['symbole'],'',''] + if request.POST.get('input'+str(i+1)).casefold()==request.session['quiz'][i]['symbole'].casefold(): points+=20 + current[1]=request.session['quiz'][i]['symbole'] + current[3]="+10" + current[4]="bg-success text-white" elif request.POST.get('input'+str(i+1)).casefold()=="": points-=5 + current[1]=request.session['quiz'][i]['symbole'] + current[3]="-5" + current[4]="bg-warning text-dark" else: points-=10 + current[1]=request.POST.get('input'+str(i+1)) + current[3]="-10" + current[4]="bg-danger text-white" + + resultats.append(current) score=points+dt @@ -83,6 +92,7 @@ def resultats(request): 'dt': dt, 'score': score, 'best_score': best_score, + 'correction': resultats, 'favicon':'vial-solid.svg' } return HttpResponse(template.render(context, request))