python測試開發django(14)--JsonResponse返回中文編碼問題
阿新 • • 發佈:2020-12-08
前言
django查詢到的結果,用JsonResponse返回在頁面上顯示類似於
\u738b\u7f8e\u4e3d,注意這個不叫亂碼,這個是unicode編碼,python3預設返回的編碼
遇到問題
接著前面的Users表,測試資料如下
接著上一篇,如果資料庫裡面有中文的資料,返回的json資料中文不能正常顯示,頁面展示內容如下:
解決辦法
JsonResponse裡面有個引數json_dumps_params,設定為json_dumps_params={'ensure_ascii':False}即可;
json_dumps_params:在1.9版本中新增,可以傳遞一個python標準的json庫中,json.dump()方法處理後的物件給它,用於生成一個響應。
修改後程式碼(上一篇的三種方法都適用)
def json_data(request): datas={} r=Users.objects.all().values() datas["data"]=list(r) return JsonResponse(datas,safe=False, json_dumps_params={'ensure_ascii':False})
在urls.py配置訪問地址
url('^jd$',dbtest.json_data),訪問後得到的結果