]> gitweb.fperrin.net Git - djsite.git/blob - quotes/views.py
Fix the random page to not assume 1-based, no gap indexes
[djsite.git] / quotes / views.py
1 from django.shortcuts import render
2
3 from random import randint
4
5 from quotes.models import Author, Work, Quote, QuoteTag
6 from quotes import search
7 from quotes import tagcloud
8
9 # create your views here.
10 def index(request):
11     return render(request, 'quotes/index.html')
12
13 def onequote(request, quote_id):
14     q = Quote.objects.get(id=quote_id)
15     return _onequote(request, q)
16
17 def random(request):
18     count = Quote.objects.count()
19     q = Quote.objects.all()[randint(0, count-1)]
20     return _onequote(request, q)
21
22 def _onequote(request, q):
23     q.incr_display()
24     context = { 'quote' : q }
25     return render(request, 'quotes/onequote.html', context)
26
27 def tags(request, tag_id):
28     tag = QuoteTag.objects.get(id=tag_id)
29     context = { 'tag' : tag }
30     return render(request, 'quotes/tag.html', context)
31
32 def author(request, author_id):
33     author = Author.objects.get(id=author_id)
34     author.incr_display()
35     context = { 'author' : author }
36     return render(request, 'quotes/author.html', context)
37
38 def work(request, work_id):
39     work = Work.objects.get(id=work_id)
40     work.incr_display()
41     context = { 'work': work }
42     return render(request, 'quotes/work.html', context)
43
44 def all(request):
45     quotes = Quote.objects.all()
46     context = { 'quotes' : quotes }
47     return render(request, 'quotes/all.html', context)
48
49 def searchpage(request):
50     results = {}
51     if 'q' in request.POST:
52         results = search.search(request.POST['q'])
53     return render(request, 'quotes/search.html', results)
54
55 def cloud(request):
56     clouddata = tagcloud.build_cloud()
57     return render(request, 'quotes/cloud.html', clouddata)