Найти - Пользователи
Полная версия: Проблема с методом is_valid() у форм
Начало » Django » Проблема с методом is_valid() у форм
1
Gnumer
Доброго времени суток.

Давно не писал 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
FishHook
После if form.is_valid(): пропущен return
Gnumer
FishHook
После if form.is_valid(): пропущен return

Да, я заметил )
Это я тут случайно затер. В коде он есть. Проблема не в том.
Поправил.
FishHook
Вроде все правильно, показывай трейсбек
Gnumer
FishHook, не знаю в чем было дело, но кажется разобрался - удалил на фиг базу данных и сделал syncdb. Закомментил в settings.py django.middleware.csrf.CsrfViewMiddleware. И все работает )
FishHook
Ага, только ошибка у тебя была бы совсем другая.
> Закомментил в settings.py django.middleware.csrf.CsrfViewMiddleware
Разкоменчивай назад, читать тут
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