]> gitweb.fperrin.net Git - djsite.git/blobdiff - quotes/views.py
Fix the random page to not assume 1-based, no gap indexes
[djsite.git] / quotes / views.py
index 01cb4e33f5ced7d73efac3edfd0ae303d26b604f..642cb433581d953dcd1fced549bd7a784ebd394d 100644 (file)
@@ -3,8 +3,8 @@ from django.shortcuts import render
 from random import randint
 
 from quotes.models import Author, Work, Quote, QuoteTag
-import quotes.search as search
-import quotes.tagcloud as tagcloud
+from quotes import search
+from quotes import tagcloud
 
 # create your views here.
 def index(request):
@@ -12,13 +12,17 @@ def index(request):
 
 def onequote(request, quote_id):
     q = Quote.objects.get(id=quote_id)
-    q.incr_display()
-    context = { 'quote' : q }
-    return render(request, 'quotes/onequote.html', context)
+    return _onequote(request, q)
 
 def random(request):
     count = Quote.objects.count()
-    return onequote(request, randint(1, count))
+    q = Quote.objects.all()[randint(0, count-1)]
+    return _onequote(request, q)
+
+def _onequote(request, q):
+    q.incr_display()
+    context = { 'quote' : q }
+    return render(request, 'quotes/onequote.html', context)
 
 def tags(request, tag_id):
     tag = QuoteTag.objects.get(id=tag_id)
@@ -50,4 +54,4 @@ def searchpage(request):
 
 def cloud(request):
     clouddata = tagcloud.build_cloud()
-    return render(request, 'quotes/cloud.html', { 'cloud': clouddata })
+    return render(request, 'quotes/cloud.html', clouddata)