Здравсвтуйте всем.
Задача: необходимо реализовать запись на одну из представленных пользователю услуг.
Видится все мне следующим образом:
1.пользователь выбирает услугу, ему предоставляются ближайшие свободные дни для записи на нее
2.пользователь выбирает подходящий день, ему предоставляется время на которое он может записаться
3.пользователь выбирает подходящее ему время.
Пытался написать что-то вроде того:
# view.py
def get_entry_page1(request):
if request.method == ‘POST’:
form = OrderForm1(data=request.POST, files=request.FILES)
. . .#работа с бд
return HttpResponseRedirect(reverse('get_entry_page2'))
else:
form = OrderForm1()
. . .
return HttpResponse(t.render©)
def get_entry_page2(request):
if request.method == ‘POST’:
form = OrderForm2(data=request.POST, files=request.FILES)
. . .#работа с бд
return HttpResponseRedirect(reverse('get_entry_page3'))
else:
form = OrderForm2()
. . .
return HttpResponse(t.render©)
def get_entry_page3(request):
if request.method == ‘POST’:
form = OrderForm3(data=request.POST, files=request.FILES)
. . .#работа с бд
HttpResponse(t.render©)
else:
form = OrderForm2()
. . .
return HttpResponse(t.render©)
#forms.py
class OrderForm1(forms.Form):
service_type = forms.ModelChoiceField(queryset=ServiceType.objects.all(), label=_('sevice type'))
class OrderForm2(OrderForm1):
date = forms.DateField(widget=SelectDateWidget(), label=_('date'))
class OrderForm3(forms.Form):
time = forms.TimeField(label=_('time'))
но так возникает проблема: после выбора пользователем необходимой ему услуги, появляется форма выбора даты и ближайшие свободные дни для записи. Пользователь вводит день, а проверить свободен ли день нет возможности(или есть?) Может быть у меня вообще не верный подход? Или есть на такие случаи красивое решение, ведь задача то вобщем-то стандартная.
Вообще-то это мой первый опыт веб-разработки, поэтому вопрос может показаться глупым, однако, все равно попрошу помощи, совета или, на крайний случай, ссылку))