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=”正是我所需要的。