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
而不需要验证?
答
验证不会调用,直到您致电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
什么?在使用点击提交之前,不能调用POST方法。你在说什么?你可以更具体地了解**你看到的是什么序列? – 2010-07-27 12:48:50