Ни один маршрут не соответствует заданному запросу
У меня проблемы с загрузкой страницы, так как я получаю ошибку 'Page Not Found', которая гласит "ни один маршрут не соответствует заданному запросу". Я полагаю, что это связано с первой строкой в моем views.py, где я получаю переменную search. Когда я убираю переменную search, она говорит, что возвращает несколько маршрутов (которые у меня есть в панели администратора Django), но я не знаю, как это изменить, чтобы загрузить страницу и запрос?
urls.py
urlpatterns = [
path('', calc_distance, name='calc_distance')
]
views.py
def calc_distance(request):
search = get_object_or_404(Route, id=1)
form = DistanceMeasureForm(request.POST or None)
geolocator = Nominatim(user_agent='distance')
ip = '72.80.77.214'
city, country, long_lat = use_ip(ip)
latitude = long_lat.get('latitude')
longitude = long_lat.get('longitude')
city = long_lat.get('city')
location = geolocator.geocode(city)
print(location)
l_lat = latitude
l_long = longitude
start = (l_lat, l_long)
if form.is_valid():
lookup = form.save(commit=False)
arrival_location = form.cleaned_data.get('arrival_location')
arrival = geolocator.geocode(arrival_location)
# print(arrival)
end_latitude = arrival.latitude
end_longitude = arrival.longitude
end = (end_latitude, end_longitude)
distance = geodesic(start, end).km
lookup.location = location
lookup.distance = distance
lookup.save()
context = {
'form': form,
'search': search
}
return render(request, 'home.html', context)
Models.py
class Route(models.Model):
location = models.CharField(max_length=200)
arrival_location = models.CharField(max_length=200)
distance = models.DecimalField(max_digits=10, decimal_places=2)
created = models.DateTimeField(auto_now_add=True)
def __str__(self):
return f"Distance from {self.location} to {self.arrival_location} is {self.distance}"