Здравствуйте! У меня есть код:
class OperationsList(object):
model = Many
earn = False
cost = False
title = ''
summa = {}
form = ''
def get_queryset(self):
qs = Many.objects.filter(users=self.request.user.id).order_by('-date')
return qs
def get_context_data(self, **kwargs):
context = super(OperationsList, self).get_context_data(**kwargs)
context['user_username'] = self.request.user.username
context['e'] = self.earn
context['c'] = self.cost
context['title'] = self.title
if self.form:
context['form'] = self.form
if self.summa['sum__sum'] is None:
context['summa'] = 0
else:
context['summa'] = self.summa['sum__sum']
return context
class EarnPeriods(OperationsList, FormMixin, ListView):
form_class = forms.DateForm
form = forms.DateForm
template_name = 'period.html'
context_object_name = 'earnings_list'
earn = True
now_date = datetime.date.today()
date_start = now_date
date_end = now_date
def form_valid(self, form):
self.date_start = form.clean['date_start']
self.date_end = form.clean['date_end']
return super(EarnPeriods, self).form_valid(form)
def get_queryset(self):
print(self.date_start)
print(self.date_end)
self.summa = super(EarnPeriods, self).get_queryset().filter(date__range=(self.date_start, self.date_end), sum__gt=0).aggregate(Sum('sum'))
return super(EarnPeriods, self).get_queryset().filter(date__range=(self.date_start, self.date_end), sum__gt=0)
Я недавно изучаю Django и учил по книге в которой про CBV нет ни строчки, поэтому у меня сейчас по мере переписывания кода на CBV возникают вопросы и непонятности.
Вопрос:
Я хочу сделать, чтобы при переходе по URL у меня была форма, а после отправки данных отображалась форма и список под ней. Но я не знаю как это сделать и все что смог добиться, это что при переходе по URL появляется форма и список под ней, но при отправке выдает 405 ошибку. Скажите пожалуйста как сделать это правильно.