Форум сайта python.su
Не могу разобраться с валидацией, загадка:
-есть форма:
class SelectForm(forms.Form):
genre = forms.ChoiceField(label=u'Жанр', widget = forms.RadioSelect)
-и вьюшка:
def input(request):
if request.method == 'POST':
inpForm=cineforms.SelectForm(request.POST)
if inpForm.is_valid():
print "Valid"
else:
choice=[]
for i, v in GenreDict.items():
choice.append((i, v))
inpForm=cineforms.CinegenSelectForm()
inpForm.fields['genre'].choices=choice
return render_to_response('input_form.html', {'inpForm': inpForm})
CHOICE=(('Detectiv', 'Детектив'),)
class SelectForm(forms.Form):
genre = forms.ChoiceField(label=u'Жанр', widget = forms.RadioSelect, choices=CHOICE)
Офлайн
Упс, во вьюшке в блоке else:
конечно же inpForm=cineforms.SelectForm(), но это сути вопроса не меняет
Офлайн
somaniacВы генерируете choices только для пустой формы. Когда пришли данные по POST этих choices в форме нет.
Знатоки, подскажите в чем трабла?
Офлайн
DaevaornСпасибо, это я понял, но все же, если я передаю при создании формы inpForm=cineforms.CinegenSelectForm(initials={'genre':(('Detective','Детектив'),)})somaniacВы генерируете choices только для пустой формы. Когда пришли данные по POST этих choices в форме нет.
Знатоки, подскажите в чем трабла?
Офлайн