From: Nitesh Rijal Date: Thu, 20 Mar 2014 02:08:49 +0000 (+0545) Subject: Added view, url and templates for quiz_index and quiz_category X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=93379b7d8ade06164c837251d2e0a72fdf6d99a0;p=django_quiz.git Added view, url and templates for quiz_index and quiz_category --- diff --git a/quiz/urls.py b/quiz/urls.py index e2aaddc..c9bc477 100644 --- a/quiz/urls.py +++ b/quiz/urls.py @@ -1,6 +1,11 @@ from django.conf.urls.defaults import * urlpatterns = patterns('', + # quiz base url + url(r'^$', 'quiz.views.index'), + + # quiz category list + url(r'^category/(?P[^\.]+)', 'quiz.views.view_category', name='view_quiz_category'), # progress url(r'^progress/$', 'quiz.views.progress'), diff --git a/quiz/views.py b/quiz/views.py index e7d70f9..8c52f35 100644 --- a/quiz/views.py +++ b/quiz/views.py @@ -7,6 +7,7 @@ from django.http import HttpResponse from django.http import HttpResponseRedirect from django.shortcuts import render_to_response from django.template import RequestContext +from django.shortcuts import render, get_object_or_404 from quiz.models import Quiz, Category, Progress, Sitting @@ -39,6 +40,18 @@ To do: allow the page count before a message is shown to be set in admin """ +def index(request): + return render(request, 'quiz_index.html', { + 'categories': Category.objects.all(), + }) + +def view_category(request, slug): + category = get_object_or_404(Category, slug=slug) + quizzes = Quiz.objects.filter(category=category) + return render(request, 'view_quiz_category.html', { + 'category': category, + 'quizzes': quizzes + }) def quiz_take(request, quiz_name): """