snipt/snipts/views.py

37 lines
969 B
Python

from snipts.api import PublicSniptResource, PublicTagResource
from annoying.decorators import render_to
from django.db.models import Count
from snipts.models import Snipt
from taggit.models import Tag
@render_to('home.html')
def home(request):
if request.user.is_authenticated():
return home_user(request)
tags = Tag.objects.filter(snipt__public=True)
tags = tags.annotate(count=Count('taggit_taggeditem_items__id'))
tags = tags.order_by('-count')[:20]
snipts = Snipt.objects.filter(public=True).order_by('-created')
return {
'snipts': snipts,
'tags': tags,
}
@render_to('home.html')
def home_user(request):
tags = Tag.objects.filter(snipt__user=request.user)
tags = tags.annotate(count=Count('taggit_taggeditem_items__id'))
tags = tags.order_by('-count')[:20]
snipts = Snipt.objects.filter(public=True).order_by('-created')
return {
'snipts': snipts,
'tags': tags,
}