我有一个使用以下形式的应用程序:
class ConfirmForm(forms.Form):
account_name = forms.CharField(widget=forms.HiddenInput)
up_to_date = forms.BooleanField(initial=True)
Run Code Online (Sandbox Code Playgroud)
我使用以下模板exerpt中的表单:
<form class="confirmform" action="/foo/" enctype="multipart/form-data" method="post">
{{ confirm_form.up_to_date }} Check if this data brings the account up to date.<br>
{{ confirm_form.account_name }} <input type="submit" name="confirm" value="Confirm" />
</form>
Run Code Online (Sandbox Code Playgroud)
我的视图使用以下基本代码结构:
if request.method == 'POST':
#check for 'confirm' because I actually have multiple forms in this page
if 'confirm' in request.POST:
confirm_form = ConfirmForm(request.POST)
if confirm_form.is_valid():
#do stuff
else:
c['confirm_form'] = confirm_form
else:
c['confirm_form'] = ConfirmForm({'account_name':'provided_value'})
Run Code Online (Sandbox Code Playgroud)
有两件事是错的:
1)即使我有initial = True,当页面加载时取消选中该复选框
2)除非我勾选复选框,否则表格始终无效.它仅为up_to_date提供错误:"此字段是必需的."
我已经阅读了这个类似的问题, …