在使用json,dumps时,当需要输出中文时,需要在后面添加 ensure_ascii = Fasle
因为json.dumps 序列化时,默认对中文使用的是 ascii 编码,添加后才能输出中文。
未加 ensure_ascii = Fasle 时
def check_user(request): username = request.GET.get('username') users = UserModel.objects.filter(username=username) data = { 'msg':'ok', 'status': '200', } if users.exists(): data['aaa'] = '用户已存在' data['msg'] = 'fail' data['status']='900' else: data['aaa'] = '用户名可用' return JsonResponse(data)
输出为:
{"msg": "ok", "status": "200", "aaa": "\u7528\u6237\u540d\u53ef\u7528"}
加上之后:
return JsonResponse(data,json_dumps_params={'ensure_ascii':False})
输出为:
{"msg": "ok", "status": "200", "aaa": "用户名可用"}
自己本机测试路由及传的参数: http://127.0.0.1:8000/app/checkuser/?username=qq