from django.shortcuts import render_to_response, get_object_or_404 from django.template import RequestContext from django.apps import apps from projects.shortcuts import render_to_geojson from projects.models.natparks import NationalParks from projects.models.gifs import AnimatedGif projects = { '5x5': 'FiveBy', '6x6': 'SixBy', 'national-parks': 'NationalParks', 'code': 'Code' } def detail(request, slug): """Projects by slug""" name = projects[slug] model = apps.get_model('projects', name) if slug == 'national-parks': qs = model.objects.filter(visited__exact=True).order_by("-date_visited_begin") else: qs = model.objects.filter(status__exact=1) context = { "object_list": qs, } template = 'details/%s.html' % (slug) return render_to_response(template, context, context_instance=RequestContext(request)) def gif_detail(request, slug): obj = get_object_or_404(AnimatedGif, slug__exact=slug) return render_to_response('details/gifs.html', {'object': obj}, context_instance=RequestContext(request)) def data_json(request, id): qs = NationalParks.objects.filter(pk=id) return render_to_geojson( qs, included_fields=['id'], geom_attribute='mpoly', mimetype='application/json', pretty_print=True )