关于Json.dumos中的ensure_ascii

在使用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
posted @ 2018-08-14 21:00  皮卡丘的皮  阅读(373)  评论(0编辑  收藏  举报