设置初始值

让我们再改进一下这个表单:为字subject段添加 初始值"I love your site!" (一点建议,但没坏处。)为此,我们可以在创建Form实体时,使用initial参数:

  1. def contact(request):
  2. if request.method == 'POST':
  3. form = ContactForm(request.POST)
  4. if form.is_valid():
  5. cd = form.cleaned_data
  6. send_mail(
  7. cd['subject'],
  8. cd['message'],
  9. cd.get('email', `'noreply@example.com`_'),
  10. [`'siteowner@example.com`_'],
  11. )
  12. return HttpResponseRedirect('/contact/thanks/')
  13. else:
  14. form = ContactForm(
  15. **initial={'subject': 'I love your site!'}**
  16. )
  17. return render_to_response('contact_form.html', {'form': form})

现在,subject字段将被那个句子填充。

请注意,传入 初始值 数据和传入数据以 绑定 表单是有区别的。 最大的区别是,如果仅传入 初始值 数据,表单是unbound的,那意味着它没有错误消息。