views.py 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. from datetime import datetime
  2. from django.conf import settings
  3. from django.template.context import RequestContext
  4. from django.views.generic import list_detail
  5. from django.shortcuts import render_to_response, get_object_or_404
  6. from django.template import loader
  7. from django.http import HttpResponse
  8. from django.core.xheaders import populate_xheaders
  9. DEFAULT_TEMPLATE = 'visitors/sections/default.html'
  10. from visitors.models import *
  11. from darkroom.models import Webcam
  12. def index(request):
  13. edition=VisitorsEdition.objects.latest()
  14. cams=Webcam.objects.all()
  15. return render_to_response('visitors/index.html', locals(),
  16. context_instance=RequestContext(request))
  17. def section_index(request):
  18. sections = Section.objects.filter(published=True, featured=True,
  19. pub_date__lte=datetime.now,
  20. featured_on__lte=datetime.now,
  21. featured_until__gte=datetime.now)
  22. return render_to_response('visitors/section_index.html', locals(),
  23. context_instance=RequestContext(request))
  24. def section_detail(request, slug):
  25. section=get_object_or_404(Section, slug=slug)
  26. if section.template_name:
  27. t = loader.select_template((section.template_name, DEFAULT_TEMPLATE))
  28. else:
  29. t = loader.get_template(DEFAULT_TEMPLATE)
  30. c = RequestContext(request, {
  31. 'section': section,
  32. })
  33. response = HttpResponse(t.render(c))
  34. populate_xheaders(request, response, Section, section.id)
  35. return response
  36. def attraction_index(request):
  37. attractions=Attraction.objects.filter(published=True,
  38. pub_date__lte=datetime.now())
  39. categories=Category.objects.all()
  40. return render_to_response('visitors/attraction_index.html', locals(),
  41. context_instance=RequestContext(request))
  42. def category_detail(request, slug):
  43. category=get_object_or_404(Category, slug=slug)
  44. attractions=Attraction.objects.filter(categories=category)
  45. return render_to_response('visitors/category_index.html', locals(),
  46. context_instance=RequestContext(request))
  47. def attraction_detail(request, category_slug, slug):
  48. category=get_object_or_404(Category, slug=category_slug)
  49. attraction=get_object_or_404(Attraction, slug=slug)
  50. if attraction.point:
  51. latitude=attraction.point.lat_lon.split(",")[0]
  52. longitude=attraction.point.lat_lon.split(",")[1]
  53. gmaps_api_key=settings.GOOGLE_API_KEY
  54. return render_to_response('visitors/attraction_detail.html', locals(),
  55. context_instance=RequestContext(request))
  56. def visitors_edition_detail(request, slug):
  57. edition = get_object_or_404(VisitorEdition, slug=slug)
  58. return render_to_response('visitors/visitor_edition_detail.html', locals(),
  59. context_instance=RequestContext(request))