Python Django:在不验证字段的情况下构造表单?

Python Django:在不验证字段的情况下构造表单?,python,django,validation,forms,django-forms,Python,Django,Validation,Forms,Django Forms,我有一个表单MyForm,我在用户填写表单时使用ajax更新它。我有一个视图方法,它通过从request.POST构建MyForm并反馈来更新表单 def update_form(request): if request.method == 'POST': dict = {} dict['form'] = MyForm(request.POST).as_p() return HttpResponse(json.dumps(dict), mi

我有一个表单
MyForm
,我在用户填写表单时使用ajax更新它。我有一个视图方法,它通过从
request.POST
构建
MyForm
并反馈来更新表单

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
而不调用验证?

在调用
Form.is\u valid()
之前,验证永远不会调用

但正如我所猜测的,您希望在表单中填充用户类型的数据,直到用户单击submit

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()

快乐编码。

什么?在用户单击submit之前,无法调用POST方法。你在说什么?您能更具体地说明您在什么顺序中看到了什么吗?谢谢,使用“initial=”正是我所需要的。