• 设置初始值

    设置初始值

    让我们再改进一下这个表单:为字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的,那意味着它没有错误消息。