Index: trunk/quiz/quizapp/views.py =================================================================== diff -u -r6 -r8 --- trunk/quiz/quizapp/views.py (.../views.py) (revision 6) +++ trunk/quiz/quizapp/views.py (.../views.py) (revision 8) @@ -1,6 +1,75 @@ from django.shortcuts import render from django.views.generic import TemplateView +from django.views.generic.edit import FormView +from django.http import HttpResponse, HttpResponseRedirect +from .forms import VerbQuizForm, VerbQuizResultForm + +VERB_DB = { + 'arise': { 'simple_past':'arose', 'past_participle':'arisen', 'translation':'survenir' }, + 'awake': { 'simple_past':'awoke', 'past_participle':'awoken', 'translation':'se reveiller' }, + 'beat': { 'simple_past':'beat', 'past_participle':'beaten', 'translation':'battre' }, + } + # Create your views here. class HomePageView(TemplateView): template_name = 'home.html' + + def get_context_data(self, **kwargs): + context = super().get_context_data(**kwargs) + num_visits = self.request.session.get('num_visits', 0) + self.request.session['num_visits'] = num_visits + 1 + context['info'] = "visit = " + str(num_visits) + print("info=", context['info']) + return context + + +class VerbQuizView(FormView): + template_name = 'verb.html' + form_class = VerbQuizForm + success_url = '/verb' + initial = {'verb':'arise'} + + def form_valid(self, form): + print("checking if form is valid") + return super().form_valid(form) + + def get(self, request, *args, **kwargs): + form = self.form_class(initial=self.initial) + print(request.session.get('num_visits', 0)) + return render(request, self.template_name, {'form': form}) + + def post(self, request, *args, **kwargs): + form = self.form_class(request.POST) + if form.is_valid(): + # + print(form.cleaned_data) + return HttpResponseRedirect("/verb_result") + + return render(request, self.template_name, {'form': form}) + +class VerbQuizResultView(FormView): + template_name = 'verb_result.html' + form_class = VerbQuizResultForm + success_url = '/verb_result' + initial = {'verb':'arise'} + + def form_valid(self, form): + print("checking if form is valid") + return super().form_valid(form) + + + def get(self, request, *args, **kwargs): + form = self.form_class(initial=self.initial) + print(request.session.get('num_visits', 0)) + return render(request, self.template_name, {'form': form}) + + def post(self, request, *args, **kwargs): + form = self.form_class(request.POST) + if form.is_valid(): + # + print(form.cleaned_data) + return HttpResponseRedirect('/verb') + + return HttpResponseRedirect('/verb') + # return render(request, self.template_name, {'form': form})