Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » как (кто) вызывает clean_message(self) в классе ContactForm код Django [RSS Feed]

#1 Апрель 23, 2008 12:45:56

qman
От:
Зарегистрирован: 2007-07-02
Сообщения: 444
Репутация: +  0  -
Профиль   Отправить e-mail  

как (кто) вызывает clean_message(self) в классе ContactForm код Django

глава 7.5 http://cargo.caml.ru/djangobook/ch07s05.html

class ContactForm(forms.Form):
topic = forms.ChoiceField(choices=TOPIC_CHOICES)
message = forms.CharField(widget=forms.Textarea())
sender = forms.EmailField(required=False)

def clean_message(self):
message = self.cleaned_data.get('message', '')
num_words = len(message.split())
if num_words < 4:
raise forms.ValidationError("Not enough words!")
return message
в описании указано , что
“Этот новый метод будет вызываться после стандартной проверки (в этом случае, после проверки для типа CharField).”
поясните пожалуйста, в каком месте программного кода вызывается clean_message? Ведь нигде в коде нету ссылки на ее вызов?

P.S. Или позвольте пофантазировать в forms.Form реализована проверка наличия методов типа clean_message и при их существовании в классе (в рассматриваемом случае ContactForm) будет произведен вызов данного метода?



Офлайн

#2 Апрель 23, 2008 13:05:44

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

как (кто) вызывает clean_message(self) в классе ContactForm код Django

В недрах `Form.is_valid` есть функциональность поиска user-defined методов валидации.



Офлайн

#3 Апрель 23, 2008 13:28:56

qman
От:
Зарегистрирован: 2007-07-02
Сообщения: 444
Репутация: +  0  -
Профиль   Отправить e-mail  

как (кто) вызывает clean_message(self) в классе ContactForm код Django

Daevaorn
В недрах `Form.is_valid` есть функциональность поиска user-defined методов валидации.
Уважаемый Daevaorn, я такой новичок, что позвольте мне задать возможно глупые или неправильные вопросы.
По какому правилу формируется название имя “user-defined метода”?



Офлайн

#4 Апрель 24, 2008 11:11:34

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

как (кто) вызывает clean_message(self) в классе ContactForm код Django

Как-то так:

'clean_%s' % field_name



Офлайн

#5 Апрель 24, 2008 19:39:59

qman
От:
Зарегистрирован: 2007-07-02
Сообщения: 444
Репутация: +  0  -
Профиль   Отправить e-mail  

как (кто) вызывает clean_message(self) в классе ContactForm код Django

спасибо, как ни крути настоящая магия.



Офлайн

  • Начало
  • » Django
  • » как (кто) вызывает clean_message(self) в классе ContactForm код Django[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version