views.py 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. from datetime import datetime
  2. from django.core.paginator import Paginator, InvalidPage, EmptyPage
  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 directory.models import *
  7. def index(request):
  8. towns = Town.objects.filter(in_coverage=True)
  9. places = Place.objects.all()[:5]
  10. return render_to_response(
  11. "directory/index.html", locals(), context_instance=RequestContext(request)
  12. )
  13. def people(request):
  14. people = Person.objects.all()[:10]
  15. return render_to_response(
  16. "directory/people.html", locals(), context_instance=RequestContext(request)
  17. )
  18. def person_detail(request, slug):
  19. person = get_object_or_404(Person, slug=slug)
  20. return render_to_response(
  21. "directory/person_detail.html",
  22. locals(),
  23. context_instance=RequestContext(request),
  24. )
  25. def place_detail(request, slug):
  26. place = get_object_or_404(Place, slug=slug)
  27. return render_to_response(
  28. "directory/place_detail.html",
  29. locals(),
  30. context_instance=RequestContext(request),
  31. )
  32. def town_index(request):
  33. towns = Town.objects.filter(in_coverage=True)
  34. return render_to_response(
  35. "directory/town_index.html", locals(), context_instance=RequestContext(request)
  36. )
  37. def town_detail(request, slug):
  38. town = get_object_or_404(Town, slug=slug)
  39. return render_to_response(
  40. "directory/town_detail.html", locals(), context_instance=RequestContext(request)
  41. )
  42. def town_info(request, slug):
  43. tinfo = get_object_or_404(TownInfo, town__slug=slug)
  44. area_miles = round((tinfo.total_area * 0.0015625), 2)
  45. return render_to_response(
  46. "directory/town_info.html", locals(), context_instance=RequestContext(request)
  47. )
  48. def school_index(request):
  49. schools = School.objects.all()
  50. return render_to_response(
  51. "directory/school_index.html",
  52. locals(),
  53. context_instance=RequestContext(request),
  54. )
  55. def school_detail(request, slug):
  56. school = get_object_or_404(School, slug=slug)
  57. return render_to_response(
  58. "directory/school_detail.html",
  59. locals(),
  60. context_instance=RequestContext(request),
  61. )
  62. def phonebook_index(request):
  63. towns = Town.objects.filter(in_coverage=True)
  64. entry_list = PhoneBookEntry.objects.all().order_by("entry")
  65. paginator = Paginator(entry_list, 100)
  66. try:
  67. page = int(request.GET.get("page", "1"))
  68. except ValueError:
  69. page = 1
  70. try:
  71. entries = paginator.page(page)
  72. except (EmptyPage, InvalidPage):
  73. entries = paginator.page(paginator.num_pages)
  74. return render_to_response(
  75. "directory/phonebook_index.html",
  76. locals(),
  77. context_instance=RequestContext(request),
  78. )
  79. def phonebook_town(request, town_slug):
  80. towns = Town.objects.filter(in_coverage=True)
  81. town = get_object_or_404(Town, slug=town_slug)
  82. entries = PhoneBookEntry.objects.filter(town=town).order_by("entry")
  83. return render_to_response(
  84. "directory/phonebook_town.html",
  85. locals(),
  86. context_instance=RequestContext(request),
  87. )