Django как передать значения из одного представления в шаблон другого представления
У меня есть две страницы для резервации столика в ресторане, логика их такая: на первой странице пользователь вводит свои контактные данные и дату резервацией с количеством гостей и нажимает кнопку далее, перекидывет на вторую страницу где нужно выбрать столик и время (свободное время генерируется в зависимости от выбранной даты). Проблема в том что не получаеться через представление передать значения времени в шаблон второй страницы. Вот сырой пример кода:
def contact_details(request):
if request.method == 'POST':
client_name = request.POST.get('client_name')
client_email = request.POST.get('client_email')
client_phone = request.POST.get('client_phone')
number_of_guests = request.POST.get('number_of_guests')
reservation_date = request.POST.get('reservation_date')
request.session['client_name'] = client_name
request.session['client_email'] = client_email
request.session['client_phone'] = client_phone
request.session['number_of_guests'] = number_of_guests
request.session['reservation_date'] = reservation_date
request.session['reservation_time'] = [str(time) for time in free_time()] # вот те
значения времени, которые нужно передать в шаблон
return redirect('reservation_data')
return render(request, 'contact_details.html')
def reservation_data(request):
if request.method == 'POST':
client_name = request.session.get('client_name')
client_email = request.session.get('client_email')
client_phone = request.session.get('client_phone')
number_of_guests = request.session.get('number_of_guests')
reservation_date = request.session.get('reservation_date')
table_number = request.POST.get('table_number')
reservation_time = request.POST.get('reservation_time')
data = {
'client_name': client_name,
'client_email': client_email,
'client_phone': client_phone,
'number_of_guests': number_of_guests,
'reservation_date': reservation_date,
'table_number': table_number,
'reservation_time': reservation_time,
'reservation_time_end': int(reservation_time[:2]) + 2
}
reservation = Reservation.objects.create(**data)
request.session.clear()
return redirect('reservation_detail', pk=reservation.pk)
return render(request, 'reservation_data.html')
Знаю, что значаения передаються через render, но если в первом представлении использовать render, то не запуститься второе представление по сохранению значений из форм, поэтому остаёться redirect. Объеденить два представления в одно тоже не могу, так как не получиться обработать дату и сгенерировать свободное время