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' }, } class TestQuizView(TemplateView): template_name = 'testquiz.html' # 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})