免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
python測試開發(fā)django-16.JsonResponse返回中文

前言

django查詢到的結(jié)果,用JsonResponse返回在頁面上顯示類似于\u4e2d\u6587 ,注意這個不叫亂碼,這個是unicode編碼,python3默認(rèn)返回的編碼

遇到問題

接著前面的User表,測試數(shù)據(jù)如下

user_namepswmail
yoyo123456283340479@qq.com
yoyo21111111
yoyo51111110

接著上一篇【python測試開發(fā)django-15.查詢結(jié)果轉(zhuǎn)json(serializers)】,如果數(shù)據(jù)庫里面有中文的數(shù)據(jù),
返回的json數(shù)據(jù)中文不能正常顯示如下,查詢的結(jié)果中有{“user_name”: “\u4e0a\u6d77-\u60a0\u60a0”, “psw”: “\u5bc6\u7801”, “mail”: “\u4e2d\u6587”}

{    "data": [{        "user_name": "yoyo",        "psw": "123456",        "mail": "283340479@qq.com"    }, {        "user_name": "yoyo2",        "psw": "111111",        "mail": "1"    }, {        "user_name": "yoyo5",        "psw": "111111",        "mail": "0"    }, {        "user_name": "\u4e0a\u6d77-\u60a0\u60a0",        "psw": "\u5bc6\u7801",        "mail": "\u4e2d\u6587"    }] }

解決辦法

JsonResponse里面有個參數(shù)json_dumps_params,設(shè)置為json_dumps_params={'ensure_ascii’:False}即可

class JsonResponse(data, encoder=DjangoJSONEncoder, safe=True, json_dumps_params=None, **kwargs)     data: 應(yīng)該傳遞一個標(biāo)準(zhǔn)的 python 字典給它,它將其轉(zhuǎn)換成 json 格式的數(shù)據(jù)。   encoder:默認(rèn)為 django.core.serializers.json.DjangoJSONEncoder,用于序列化data。關(guān)于這個序列化的更多信息參見JSON 序列化。   safe : 默認(rèn)為True。如果設(shè)置為False,可以傳遞任何對象進(jìn)行序列化(否則,只允許dict 實例)。如果safe 為True,而第一個參數(shù)傳遞的不是dict 對象,將拋出一個TypeError。 另外:它的默認(rèn) Content-Type 頭部設(shè)置為application/json。   json_dumps_params:在1.9版本中新增,可以傳遞一個python標(biāo)準(zhǔn)的 json 庫中,json.dump() 方法處理后的對象給它,用于生成一個響應(yīng)。

修改后代碼(上一篇的三種方法都適用)

def json_data(request):    '''values()獲取的可迭代dict對象轉(zhuǎn)list'''    data = {}    ret = User.objects.all().values()    data["data"] = list(ret)    return JsonResponse(data,                        safe=False,                        json_dumps_params={'ensure_ascii':False})

在urls.py配置訪問地址 url(r’^json_data$’, testdb.json_data,訪問后得到的結(jié)果(返回的數(shù)據(jù)自己在線解析過)

{    "data": [{        "user_name": "yoyo",        "psw": "123456",        "mail": "283340479@qq.com"    }, {        "user_name": "yoyo2",        "psw": "111111",        "mail": "1"    }, {        "user_name": "yoyo5",        "psw": "111111",        "mail": "0"    }, {        "user_name": "上海-悠悠",        "psw": "密碼",        "mail": "中文"    }] }
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
django-將數(shù)據(jù)庫數(shù)據(jù)轉(zhuǎn)換成JSON格式(ORM和SQL兩種情況)
還在學(xué)Django! FastAPI Web 框架教程來了!
Python學(xué)習(xí)教程(技術(shù)干貨):關(guān)于前后端分離開發(fā)入門
解決Python自帶的json序列化工具不能序列化datetime類型數(shù)據(jù)問題
Python3.7+Django2.0.4配合Mongodb打造高性能高擴展標(biāo)簽云存儲方案
Python requests.post方法中data與json參數(shù)區(qū)別
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服