我有一个Django表单,我在正常的Django视图中进行验证.我试图找出如何提取纯错误(没有HTML格式).下面是我目前正在使用的代码.
return json_response({ 'success' : False,
'errors' : form.errors })
Run Code Online (Sandbox Code Playgroud)
有了这个,我从Django得到了臭名昭着的代理对象错误.将每个错误强制转换为Unicode也不会起作用,因为这样__unicode__就可以有效地调用每个错误的方法.
有任何想法吗?
编辑:
对于那些感兴趣的人,这是定义json_response:
def json_response(x):
import json
return HttpResponse(json.dumps(x, sort_keys=True, indent=2),
content_type='application/json; charset=UTF-8')
Run Code Online (Sandbox Code Playgroud) 我经常发现自己在视图中使用ModelForm来显示和翻译视图.我在模板中显示表单没有问题.我的问题是,当我使用这些时,表单通常不会使用is_valid方法进行验证.问题是我不知道导致验证错误的原因.
以下是视图中的基本示例:
def submitrawtext(request):
if request.method == "POST":
form = SubmittedTextFileForm()
if form.is_valid():
form.save()
return render(request, 'upload_comlete.html')
return render(request, 'failed.html')
else:
form = SubmiittedTextFileForm()
return render(request, 'inputtest.html', {'form': form})
Run Code Online (Sandbox Code Playgroud)
我知道表单没有验证,因为我被重定向到failed.html模板,但我不知道为什么.is_valid是false.如何设置它以向我显示表单验证错误?