Найти - Пользователи
Полная версия: cleaned_data
Начало » Django » cleaned_data
1
I159
Делаю форму отправляющую письмо на мыло.
if request.method == 'POST':
if OrderForm(request.POST).is_valid():
form = OrderForm(request.POST)
cd = form.cleaned_data
subj = (cd['city'], cd['address'], cd['phone'], cd['email'], cd['memory'], cd['payment'])
send_mail('Заказ телефона',
subj,
('exemple@cexemple.com'), ['exemple2@gexemple2.com'])
return HttpResponseRedirect('/mail_sent/')
form = OrderForm()
return render_to_response('order.html', {'form': form,})
Выводится ошибка: Exception Type: AttributeError at /order/
Exception Value: ‘OrderForm’ object has no attribute ‘cleaned_data’

Почему нет атрибута cleaned_data у объекта формы? Что не правильно?
Благодарю за ответ.
regall
I159
if OrderForm(request.POST).is_valid():
form = OrderForm(request.POST)
Вы делаете валидацию, а потом пересоздаете форму, а cleaned_data появляется только после is_valid(), который для объекта формы в переменной form не сделан. Поэтому делать надо так:
form = OrderForm(request.POST)
if form.is_valid():
slav0nic
потому что надо прочесть что-то по питону и документацию по джанге.

cleaned_data появится только после is_valid(), а ты это всё сделал на другом инстансе формы.

http://docs.djangoproject.com/en/dev/topics/forms/#using-a-form-in-a-view посмотри как надо, и сравни с хренью, что ты написал.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB