Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 26, 2008 14:10:18

OZION
От:
Зарегистрирован: 2008-10-15
Сообщения: 89
Репутация: +  0  -
Профиль   Отправить e-mail  

Свои правила для проверки формы

согдасно примеру из джангобуки http://cargo.caml.ru/djangobook/ch07s05.html
создал аналогичную проверку

код forms.py

from django import forms
class Form_Order(forms.Form):
name = forms.CharField(label='Имя', max_length=30)

def check_name(self):
name = self.cleaned_data.get('name')
num_words = len(name.split())
if num_words < 4:
raise forms.ValidationError("error!")
return name
в мануале сказано следущие

Этот новый метод будет вызываться после стандартной проверки (в этом случае, после проверки для типа CharField). Так как данные поля уже были частично проверены, мы должны убрать это поле из словаря формы cleaned_data.
у меня этот метод автоматически с проверкойё типа не вызывается

код views.py
from django.http import HttpResponseRedirect
from django.shortcuts import render_to_response
from forms import Form_Order

def order(request) :
if request.method == 'POST':
form = Form_Order(request.POST)
if form.is_valid():
return HttpResponseRedirect('/manager/order/successful/')
else:
form = Form_Order()
return render_to_response('order.html', {'form': form})
Как сделать чтобы работало?

Офлайн

#2 Дек. 26, 2008 18:24:00

OZION
От:
Зарегистрирован: 2008-10-15
Сообщения: 89
Репутация: +  0  -
Профиль   Отправить e-mail  

Свои правила для проверки формы

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version