Django:构造没有验证字段的表单?

问题描述:

我有一个表格MyForm,我使用ajax进行更新,因为用户将其填充。我有一种查看方法,通过从request.POST构建MyForm并将其反馈回来来更新表单。Django:构造没有验证字段的表单?

def update_form(request): 
    if request.method == 'POST': 
     dict = {} 
     dict['form'] = MyForm(request.POST).as_p() 
     return HttpResponse(json.dumps(dict), mimetype='application/javascript') 
    return HttpResponseBadRequest() 

然而,这种调用清洗/验证程序,我不希望显示错误信息给用户,直到他们实际上已经积极地点击“提交”。

所以问题是:我怎样才能从现有的数据构造一个django.forms.Form而不需要验证?

+0

什么?在使用点击提交之前,不能调用POST方法。你在说什么?你可以更具体地了解**你看到的是什么序列? – 2010-07-27 12:48:50

验证不会调用,直到您致电form.is_valid()

但正如我猜测,你希望你的表格充满数据用户类型,直到用户点击提交。

def update_form(request): 
    if request.method == 'POST': 
     if not request.POST.get('submit'): 
      dict = {} 
      dict['form'] = MyForm(initial = dict(request.POST.items())).as_p() 
      return HttpResponse(json.dumps(dict), mimetype='application/javascript') 
     else: 
      form = MyForm(request.POST) 
      if form.is_valid(): 
       # Your Final Stuff 
       pass 
    return HttpResponseBadRequest() 

快乐编码。

+1

谢谢,使用“initial =”正是我所需要的。 – kdt 2010-08-03 10:20:06