soucet_bodu #70

Merged
ledoian merged 2 commits from soucet_bodu into master 1 week ago
  1. 4
      odevzdavatko/templates/odevzdavatko/prehled_reseni.html
  2. 7
      odevzdavatko/views.py

4
odevzdavatko/templates/odevzdavatko/prehled_reseni.html

@ -12,7 +12,7 @@
<br> <br>
{% for rocnik, hodnoceni in podle_rocniku %} {% for rocnik, hodnoceni, suma_bodu in podle_rocniku %}
<h1>Ročník {{ rocnik }}</h1> <h1>Ročník {{ rocnik }}</h1>
<table class="moje_reseni plne_ohranicena_tabulka"> <table class="moje_reseni plne_ohranicena_tabulka">
<tr> <tr>
@ -33,7 +33,7 @@
</tr> </tr>
{% endfor %} {% endfor %}
</table> </table>
<p>Celkový počet bodů {{suma_bodu}}</p>
<br> <br>
{% endfor %} {% endfor %}

7
odevzdavatko/views.py

@ -352,7 +352,12 @@ class PrehledOdevzdanychReseni(ListView):
# Chceme to mít seřazené, takže místo comphrerehsion ručně postavíme pole polí. Django templates neumí použít OrderedDict :-/ # Chceme to mít seřazené, takže místo comphrerehsion ručně postavíme pole polí. Django templates neumí použít OrderedDict :-/
podle_rocniku = [] podle_rocniku = []
for rocnik, hodnoceni in groupby(ctx['object_list'], lambda ho: ho.deadline_body.cislo.rocnik if ho.deadline_body is not None else None): for rocnik, hodnoceni in groupby(ctx['object_list'], lambda ho: ho.deadline_body.cislo.rocnik if ho.deadline_body is not None else None):
podle_rocniku.append((rocnik, list(hodnoceni))) suma_bodu = 0
hodnoceni = list(hodnoceni)
for i in hodnoceni :
if i.body != None : suma_bodu += i.body
Review

Jen poznámka: None je lepší porovnávat pomocí is (resp. is not): if i.body is not None: ...

(Je to běžnější kód a možná lehce rychlejší)

Jen poznámka: `None` je lepší porovnávat pomocí `is` (resp. `is not`): `if i.body is not None: ...` (Je to běžnější kód a možná lehce rychlejší)
podle_rocniku.append((rocnik, hodnoceni, suma_bodu))
ctx['podle_rocniku'] = reversed(podle_rocniku) # Od nejnovějšího ročníku ctx['podle_rocniku'] = reversed(podle_rocniku) # Od nejnovějšího ročníku
# TODO: Umožnit stažení / zobrazení řešení # TODO: Umožnit stažení / zobrazení řešení
return ctx return ctx

Loading…
Cancel
Save