一、直接对query_set序列化,在页面展示的效果是Unicode 编码格式 ,可在json 序列化时候加入一个参数
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
course_query = DegreeCourse.objects.all().values('pk','name') course_list = list(course_query) import json ret = json.dumps(course_list) return HttpResponse(ret) # 在前台展示效果如下 [{"pk": 3, "name": "DBA"}, {"pk": 2, "name": "Linuxu8fd0u7ef4"}, {"pk": 1, "name": "pythonu5168u6808"}] 如果是在js中打印则不影响。 # 如果在json 时候加入一个参数 ret = json.dumps(course_list,ensure_ascii=False) 效果将成中文 [{"pk": 3, "name": "DBA"}, {"pk": 2, "name": "Linux运维"}, {"pk": 1, "name": "python全栈"}]
二 、JsonResaponse 如果传进去的参数是一个列表 那么 前台会显示一个报错
set the safe parameter to False.
此时需要加一个参数
JsonResponse(course_list,safe=False)
如果想让页面直接展示中文效果
JsonResponse(course_list,safe=False,json_dumps_params={'ensure_ascii':False})
三 request.user 如果没有登录的话,会显示一个匿名用户AnonymousUser,如果想让他显示一个空呢
REST_FRAMEWORK 中配置如下
'UNAUTHENTICATED_USER':None, # 显示None 'UNAUTHENTICATED_USER':lambda:'' , 显示“”