#使用 HttpResponse 代替 JsonResponse 解決JsonResponse返回中文亂碼的問題
import json
from django.shortcuts import HttpResponse
from django.http import JsonResponse
from databases_models import models
def get(request):
publish_list = models.Publish.objects.all()
bs = MySer.PublishSerializer(publish_list, many=True)
#return JsonResponse(bs.data, safe=False, )
return HttpResponse(json.dumps(bs.data,ensure_ascii=False),content_type='application/json')
# 當返回的中文是亂碼時,這時由於ascii碼的原因,JsonResponse()在初始化的時候使用了json.dumps()把字典轉換成了json格式
# 當ensure_ascii是false的時候,可以返回ASCII碼的值,否則就會被JSON轉義
# 所以含有中文的字典轉json字符串時,使用json.dumps()方法要把ensure_ascii參數修改成false
# content_type是指定MIME類型和編碼,這樣客戶端知道主體是什么類型的資源,才能調用相應的插件或內置的程序去處理