]> git.parisson.com Git - django_quiz.git/commitdiff
cleaning up url structure
authorTom Walker <tomwalker0472@gmail.com>
Wed, 11 Jun 2014 15:20:03 +0000 (16:20 +0100)
committerTom Walker <tomwalker0472@gmail.com>
Wed, 11 Jun 2014 15:20:03 +0000 (16:20 +0100)
quiz/models.py
quiz/templatetags/quiz_tags.py
quiz/urls.py
quiz/views.py

index 8cb6364ca70a0ea753736714f3fea40b75e8ef8a..9b2aa42cff77e1e6af1290c35965e8d812977cc3 100644 (file)
@@ -49,11 +49,13 @@ class CategoryManager(models.Manager):
     """
     def new_category(self, category):
         """
-        add a new category
+        add a new category, replacing spaces and making lowercase
         """
-        new_category = self.create(category=category)
+        new_category = self.create(category =
+                                   category.replace(' ', '-').lower())
         new_category.save()
 
+
 class Category(models.Model):
 
     category = models.CharField(max_length=250,
index 6314c26b64e2c1c146bd27a55a803696da036729..bf8a9411484816e6e696b273ea254887b4bb91a9 100644 (file)
@@ -1,5 +1,5 @@
 from django import template
-from django_quiz.multichoice.models import Question, Answer
+from multichoice.models import Answer
 
 register = template.Library()
 
index d07744271916aefb00c806f9d1f303ae01f9c9b5..a1cbc565adfd334d3e33d60807598f8b6980f534 100644 (file)
@@ -1,30 +1,32 @@
 from django.conf.urls import patterns, include, url
 
 urlpatterns = patterns('',
-    # quiz base url
-    url(r'^$', 'quiz.views.index'),
-
-    # quiz category list
-    url(r'^category/(?P<slug>[^\.]+)', 'quiz.views.view_category', name='view_quiz_category'),
-
-    #  progress
-    url(r'^progress/$', 'quiz.views.progress'),
-    url(r'^progress$', 'quiz.views.progress'),
-
-
-    #  passes variable 'quiz_name' to quiz_take view
-    url(r'^(?P<quiz_name>[\w-]+)/$',
-        'quiz.views.quiz_take'),  #  quiz/
-
-    url(r'^(?P<quiz_name>[\w-]+)$',
-        'quiz.views.quiz_take'),  #  quiz
-
-    url(r'^(?P<quiz_name>[\w-]+)/take/$',
-        'quiz.views.quiz_take'),  #  quiz/take/
-
-    url(r'^(?P<quiz_name>[\w-]+)take$',
-        'quiz.views.quiz_take')  #  quiz/take
-
-
+                       # quiz base url
+                       url(r'^$',
+                           'quiz.views.index',
+                           name = 'quiz_index'),
+
+                       url(r'^category/$',
+                           'quiz.views.list_categories',
+                           name = 'quiz_category_list_all'),
+
+                       # quiz category: list quizzes
+                       url(r'^category/(?P<slug>[\w.-]+)/$',
+                           'quiz.views.view_category',
+                           name='quiz_category_list_matching'),
+
+                       #  progress
+                       url(r'^progress/$',
+                           'quiz.views.progress',
+                           name = 'quiz_progress'),
+
+                       #  passes variable 'quiz_name' to quiz_take view
+                       url(r'^(?P<quiz_name>[\w-]+)/$',
+                           'quiz.views.quiz_take',
+                           name = 'quiz_start_page'),
+
+                       url(r'^(?P<quiz_name>[\w-]+)/take/$',
+                           'quiz.views.quiz_take',
+                           name = 'quiz_question'),
 
 )
index 3a121c99d9839b777514a19e2ce102ecc42d377f..8002fb6582d502fa39f1cdb862da92e88bea483c 100644 (file)
@@ -41,12 +41,18 @@ To do:
 """
 
 def index(request):
-  return render(request, 'quiz_index.html', {
+    return render(request, 'quiz_index.html', {
                 'categories': Category.objects.all(),
     })
 
+def list_categories(request):
+    return render(request, 'quiz_index.html', {
+                'categories': Category.objects.all(),
+    })
+
+
 def view_category(request, slug):
-    category = get_object_or_404(Category, slug=slug)
+    category = get_object_or_404(Category, category = slug.replace(' ', '-').lower())
     quizzes = Quiz.objects.filter(category=category)
     return render(request, 'view_quiz_category.html', {
                 'category': category,