Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 13, 2014 10:52:59

Gnumer
Зарегистрирован: 2014-06-13
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с методом is_valid() у форм

Доброго времени суток.

Давно не писал Django-приложений, а тут решил вдруг. И столкнулся со проблемой посреди написания сайта (уже оформлены все шаблоны и css, JavaScript) - как будто у моих форм, наследованных от forms.Form нет метода is_valid(), и вообще ничего, кроме указанных мною полей.

Например, сперва я создаю такую форму:

# forms.py
# -*- coding: utf-8 -*-
from django import forms
class TestForm(forms.Form):
    name = forms.CharField(min_length=3)
    message = forms.CharField()

Потом ввожу следующий код в views.py:
# views.py
# -*- coding: utf-8 -*-
from django.http import HttpResponse
from testapp.forms import *
def test(request):
    if request.method == 'POST':
        form = TestForm(request.POST)
        if form.is_valid():
            return HttpResponse('<html><body>OK</body></html>')
    return HttpResponse('<html><body>ERROR</html>')

При отправке формы тестовый сервер пишет, что у формы нет метода is_valid(). Да и PyCharm при нажатии Ctrl+Spase ничего не выдает, кроме моих полей. Та же фигня со встроенными формами вроде UserCreationForm. Но при этом, если я запускаю ‘python manage.py shell’, делаю там ‘>>> from testapp.forms import *’ и создаю форму, то у нее метод is_valid() работает и возвращает соответственно True или False.

Может это что-то простое, а я этого не замечаю из-за, того что давно не пользовался Django, но кто-нибудь сталкивался с такой проблемой?

P.S. Django версии 1.6.5

Отредактировано Gnumer (Июнь 13, 2014 11:07:00)

Офлайн

#2 Июнь 13, 2014 11:04:53

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Проблема с методом is_valid() у форм

После if form.is_valid(): пропущен return



Офлайн

#3 Июнь 13, 2014 11:06:37

Gnumer
Зарегистрирован: 2014-06-13
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с методом is_valid() у форм

FishHook
После if form.is_valid(): пропущен return

Да, я заметил )
Это я тут случайно затер. В коде он есть. Проблема не в том.
Поправил.

Отредактировано Gnumer (Июнь 13, 2014 11:07:17)

Офлайн

#4 Июнь 13, 2014 11:12:36

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Проблема с методом is_valid() у форм

Вроде все правильно, показывай трейсбек



Офлайн

#5 Июнь 13, 2014 11:33:51

Gnumer
Зарегистрирован: 2014-06-13
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с методом is_valid() у форм

FishHook, не знаю в чем было дело, но кажется разобрался - удалил на фиг базу данных и сделал syncdb. Закомментил в settings.py django.middleware.csrf.CsrfViewMiddleware. И все работает )

Офлайн

#6 Июнь 13, 2014 11:40:13

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Проблема с методом is_valid() у форм

Ага, только ошибка у тебя была бы совсем другая.
> Закомментил в settings.py django.middleware.csrf.CsrfViewMiddleware
Разкоменчивай назад, читать тут



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version