diff options
Diffstat (limited to 'apps/blog/views.py')
-rw-r--r-- | apps/blog/views.py | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/apps/blog/views.py b/apps/blog/views.py new file mode 100644 index 0000000..9641813 --- /dev/null +++ b/apps/blog/views.py @@ -0,0 +1,65 @@ +from django.shortcuts import render_to_response,get_object_or_404 +from django.template import RequestContext +from django.views.generic.date_based import object_detail +from django.views.generic.list_detail import object_list +from django.http import Http404 + + +from blog.models import Entry +from locations.models import Region, Country + +def home(request): + featured = Entry.objects.filter(status__exact=1).order_by('-pub_date')[:1].get() + context = { + 'featured': featured, + 'object_list': Entry.objects.all().exclude(id=featured.id).order_by('-pub_date')[:5], + } + return render_to_response('archives/homepage.html', context, context_instance = RequestContext(request)) + + +def entry_detail(request, year, month, day, slug): + obj = get_object_or_404(Entry, slug__exact=slug) + photos = {} + if obj.photo_gallery: + photos = Photo.objects.filter(set__exact=obj.get().photo_gallery.id)[:9] + extra = {'photos':photos,} + return render_to_response('details/entry.html', {'object': obj,'photos':photos}, context_instance=RequestContext(request)) + + +""" +List of all writing +""" +def entry_list(request,page): + request.page_url = '/writing/%d/' + request.page = int(page) + qs = Entry.objects.filter(status__exact=1).order_by('-pub_date') + context = { + 'country_list': Country.objects.filter(visited=True), + 'region_list': Region.objects.all() + } + return object_list(request, queryset=qs, template_name='archives/writing.html', + extra_context=context) + + +""" +Grabs entries by region or country +""" +def entry_list_by_area(request,slug,page): + request.page_url = '/writing/'+slug+'/%d/' + request.page = int(page) + try: + region = Region.objects.get(slug__exact=slug) + qs = Entry.objects.filter(status__exact=1,region = region).order_by('-pub_date') + except: + region = Country.objects.get(slug__exact=slug) + qs = Entry.objects.filter(status__exact=1,location__state__country = region).order_by('-pub_date') + if not region: + raise Http404 + context = { + 'region': region, + 'country_list': Country.objects.filter(visited=True), + 'region_list': Region.objects.all() + } + return object_list(request, queryset=qs, template_name='archives/writing.html', + extra_context=context) + |