view band/views.py @ 131:9c74cd8668eb

For Django 1.6: take advantage of new database connection persistence.
author Brian Neal <bgneal@gmail.com>
date Tue, 24 Dec 2013 16:50:13 -0600
parents e2868ad47a1e
children 2db040e89285
line wrap: on
line source
"""
Views for the band application.

"""
import random

from django.shortcuts import render
from django.shortcuts import get_object_or_404
from photologue.models import Gallery
from photologue.models import Photo

from band.models import Member, Merchandise, Album


def bio(request):
    members = Member.objects.exclude(is_active=0)
    return render(request, 'band/bio.html', {'members': members})


def photos_index(request):
    galleries = Gallery.objects.values('title', 'id').order_by('-id')

    photo_ids = Photo.objects.filter(is_public=True).values_list('id',
            flat=True)
    photo_ids = random.sample(photo_ids, 4)
    random_photos = Photo.objects.filter(id__in=photo_ids)

    return render(request, 'band/photos.html', {
        'galleries': galleries,
        'random_photos': random_photos,
    })


def photo_detail(request, id):
    gallery = get_object_or_404(Gallery, pk=id)
    photos = gallery.photos.order_by('id')

    return render(request, 'band/photo_detail.html', {
        'gallery': gallery,
        'photos': photos,
    })


def buy(request):
    albums = Album.objects.all().order_by('-id')
    merchandise = Merchandise.objects.all().order_by('-id')
    return render(request, 'band/buy.html', {
        'albums': albums, 
        'merchandise': merchandise, 
    })


def contact(request):
    band = Member.objects.exclude(is_active=0).order_by('order')
    return render(request, 'band/contact.html', {
        'band': band,
    })