7

我正在尝试将我的表单序列化为 json 格式。我的观点:

form = CSVUploadForm(request.POST, request.FILES)
data_to_json={}
data_to_json = simplejson.dumps(form.__dict__)
return HttpResponse(data_to_json, mimetype='application/json')

我有错误<class 'django.forms.util.ErrorList'> is not JSON serializable。如何处理 django 表单?

4

2 回答 2

7

以防万一有人不熟悉 Django,您还可以执行以下操作:

from django.http import JsonResponse

form = YourForm(request.POST)
if form.is_valid():
    data = form.cleaned_data
    return JsonResponse(data) 
else:
    data = form.errors.as_json()
    return JsonResponse(data, status=400) 
于 2020-03-19T05:35:13.863 回答
5

您可能想查看名为django-remote-forms的包:

一个允许您将 django 表单(包括字段和小部件)序列化为 Python 字典的包,以便轻松转换为 JSON 并通过 API 公开

另见:

于 2013-09-01T18:47:13.790 回答