def route(request, id): app = "app" model = "vehicle" vehicle = Vehicle.objects.get(id=id) if request.method == 'POST': form = DateForm(request.POST) if form.is_valid(): from_date = form.cleaned_data['from_date'] to_date = form.cleaned_data['to_date'] return HttpResponseRedirect('/position/{}/{}/{}'.format(vehicle.id, from_date, to_date)) else: form = DateForm() all_positions = [] try: positions = Position.objects.filter(vehicle=vehicle.id) latest_position = Position.objects.filter(vehicle=vehicle.id).latest("id") latest_position_long = latest_position.long latest_position_lat = latest_position.lat for position in positions: position_array = [position.lat, position.long] all_positions.append(position_array) print all_positions except Position.DoesNotExist: latest_position_long = None latest_position_lat = None positions = None return render(request, "route.html", { 'name': vehicle.name, 'positions': positions, 'all_positions': all_positions, 'latest_position_long': latest_position_long, 'latest_position_lat': latest_position_lat, 'form': form, 'app': app, 'model': model })
def position_list(request, vehicle, from_date, to_date): """ Retrieve Positions for selectes time frame """ vehicle = Vehicle.objects.get(pk=vehicle) all_positions = [] if request.method == 'POST': form = DateForm(request.POST) if form.is_valid(): from_date = form.cleaned_data['from_date'] to_date = form.cleaned_data['to_date'] return HttpResponseRedirect('/position/{}/{}/{}'.format(vehicle.id, from_date, to_date)) else: form = DateForm() try: positions = Position.objects.filter(vehicle=vehicle, date__range=(from_date, to_date)) latest_position = positions.latest("id") latest_position_long = latest_position.long latest_position_lat = latest_position.lat print positions for position in positions: position_array = [position.lat, position.long] all_positions.append(position_array) print all_positions except Position.DoesNotExist: positions = None latest_position_long = None latest_position_lat = None return render(request, "route.html", { 'form': form, 'name': vehicle.name, 'positions': positions, 'all_positions': all_positions, 'latest_position_long': latest_position_long, 'latest_position_lat': latest_position_lat })