From f776c4aef278b61773c65c391254c57911f6ec93 Mon Sep 17 00:00:00 2001 From: Tomas Gavenciak Date: Thu, 30 Jul 2015 11:56:29 +0200 Subject: [PATCH] Status: stav a jmena resitelu (dle pohlavi) --- seminar/templates/seminar/stav_databaze.html | 8 ++++++++ seminar/utils.py | 10 ++++++++++ seminar/views.py | 10 +++++++++- 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/seminar/templates/seminar/stav_databaze.html b/seminar/templates/seminar/stav_databaze.html index 2484a2ea..f9f55a58 100644 --- a/seminar/templates/seminar/stav_databaze.html +++ b/seminar/templates/seminar/stav_databaze.html @@ -4,6 +4,14 @@

Stav databáze

+

Řešitelé

+ +
Řešitelů: {{ resitele |length}} ({{ muzi |length}} mužů, {{ zeny |length}} žen)
+
Křestní jména mužů:
+

{% for n, c in jmena_muzu.items %}{{ n }} ({{ c }}), {% endfor %} +

Křestní jména žen:
+

{% for n, c in jmena_zen.items %}{{ n }} ({{ c }}), {% endfor %} +

Nastavení

Problémy

diff --git a/seminar/utils.py b/seminar/utils.py index 6676fd84..9c9636d5 100644 --- a/seminar/utils.py +++ b/seminar/utils.py @@ -2,6 +2,16 @@ import datetime + +def histogram(seznam): + d = {} + for i in seznam: + if i not in d: + d[i] = 0 + d[i] += 1 + return d + + roman_numerals = zip((1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1), ('M', 'CM', 'D', 'CD','C', 'XC','L','XL','X','IX','V','IV','I')) diff --git a/seminar/views.py b/seminar/views.py index 461cf1ba..0876d69e 100644 --- a/seminar/views.py +++ b/seminar/views.py @@ -5,7 +5,7 @@ from django.views import generic from django.utils.translation import ugettext as _ from django.http import Http404 -from .models import Problem, Cislo, Reseni, VysledkyKCislu, Nastaveni, Rocnik, Soustredeni, Organizator +from .models import Problem, Cislo, Reseni, VysledkyKCislu, Nastaveni, Rocnik, Soustredeni, Organizator, Resitel from . import utils def AktualniZadaniView(request): @@ -167,8 +167,16 @@ class SoustredeniView(generic.DetailView): def StavDatabazeView(request): # nastaveni = Nastaveni.objects.get() problemy = utils.seznam_problemu() + muzi = Resitel.objects.filter(pohlavi_muz=True) + zeny = Resitel.objects.filter(pohlavi_muz=False) return render(request, 'seminar/stav_databaze.html', { # 'nastaveni': nastaveni, 'problemy': problemy, + + 'resitele': Resitel.objects.all(), + 'muzi': muzi, + 'zeny': zeny, + 'jmena_muzu': utils.histogram([r.jmeno for r in muzi]), + 'jmena_zen': utils.histogram([r.jmeno for r in zeny]), })