Я довольно новичок в Django, и я использую Django 1.0. у меня есть это:
forms.py:Django form только с BooleanField
class MyForm(forms.Form):
extra_cheeze = forms.BooleanField(required=False,
initial=False,
label='Extra cheeze')
views.py:
def order_something(request):
form = MyForm(request.POST or None)
if request.method == 'POST' and form.is_valid():
# do stuff...
Проблема заключается в том, что форма не является действительным, если флажок не установлен, поэтому не кажется для того, чтобы получить значение False из поля. Насколько я понимаю из the docs, он должен работать. Он работает, если я добавлю CharField к моей форме ...
Я что-то не понимаю или это ошибка? (Да, я гугл, но ничего не нашел соответствующее)
Update: Как было предложено @Dominic Роджера, я попытался добавить скрытое поле
dummy = forms.CharField(initial='dummy', widget=forms.widgets.HiddenInput())
и что делает форму действительной. Это обходное решение позволяет мне двигаться прямо сейчас, но было бы интересно узнать, не ошибаюсь ли я что-то ...
Huh. Звучит как ошибка. Не могли бы вы его использовать с помощью скрытого поля? –
Было несколько отчетов об ошибках, которые кажутся похожими - см. Http://www.google.co.uk/search?q=django+checkbox+forms+bug –
Я попробую. Я подозреваю, что Форме не нравятся пустые данные, так как браузер не будет включать поле для снятого флажка. – Niklas