Вот мой код:
views.py
def book(request, flight_id):
try:
passenger_id = int(request.POST["passenger"])
passenger = Passengers.objects.get(pk=passenger_id)
flight = Flights.objects.get(pk=flight_id)
except KeyError:
return render(request, 'flights/error.html', {'message':'No Selection'})
except Flights.DoesNotExist:
return render(request, 'flights/error.html', {'message':'No Flight'})
except Passengers.DoesNotExist:
return render(request, 'flights/error.html', {'message': 'No Passengers'})
passenger.flights.add(flight)
return HttpResponseRedirect(reverse('flight', args=(flight_id,)))
template
<h2>Add a Passenger</h2>
{% if non_passengers %}
<form action="{% url 'book' flight.id %}" method="post">
<select name="passenger">
{% for passenger in non_passengers %}
<option value="passenger.id">{{ passenger }}</option>
{% endfor %}
</select>
<input type="submit" value="Book Flight"/>
</form>
{% else %}
<div>No Passengers to add</div>
{% endif %}
urls.py
path('', views.index, name='index'),
path('<int:flight_id>', views.flight, name='flight'),
path('<int:flight_id>/book', views.book, name='book')
показывает мне ошибка как это:
NoReverseMatch в / 1 Реверс для 'book' с аргументами '(' ',)' не найден. Попробован 1 шаблон (ов): ['(? P [0-9] +) / book $']