成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

Django中使用Json返回數據的實現方法

瀏覽:146日期:2024-05-28 09:04:14

在一個網站在,大量數據與前端交互,JSON是最好的傳遞數據方式了。

在Django中,使用JSON傳輸數據,有兩種方式,一種是使用Python的JSON包,一種是使用Django的JsonResponse

方法一:使用Python的JSON包

from django.shortcuts import HttpResponseimport jsondef testjson(request): data={ ’patient_name’: ’張三’, ’age’: ’25’, ’patient_id’: ’19000347’, ’診斷’: ’上呼吸道感染’, } return HttpResponse(json.dumps(data))

我們暫且把data看成是從數據庫取出來的數據,使用瀏覽器訪問一下testjson

Django中使用Json返回數據的實現方法

咦,怎么是亂碼了?有中文的都是亂碼了?

不著急,這不是亂碼,這是中文在內存中的二進制表現形式而已,使用JSON的轉換工具可以看到中文的。

我們看一下Response Headers響應頭,其中的Content-Type是text/html,我明明傳的是JSON啊,怎么會變成字符串類型了?這是因為我們沒有告訴瀏覽器,我們要傳一個JSON數據,那么,怎么告訴瀏覽器呢?

HttpResponse是繼承HttpResponseBase的,我們可以告訴瀏覽器,我要傳application/json數據。我們稍微改一下content的值,看看會變成什么?

def testjson(request): data={ ’patient_name’: ’張三’, ’age’: ’25’, ’patient_id’: ’19000347’, ’診斷’: ’上呼吸道感染’, } return HttpResponse(json.dumps(data), content_type=’application/json’)

再訪問網頁:

Django中使用Json返回數據的實現方法

Django中使用Json返回數據的實現方法

這下好了,是傳輸JSON了,在Preview中可以正常顯示出來了。

方法二:使用JsonResponse進行傳輸。

def testjson(request): data={ ’patient_name’: ’張三’, ’age’: ’25’, ’patient_id’: ’19000347’, ’診斷’: ’上呼吸道感染’, } return JsonResponse(data)

訪問網頁:

Django中使用Json返回數據的實現方法

Django中使用Json返回數據的實現方法

嗯,一切正常。

看一下JsonResponse的源碼:

class JsonResponse(HttpResponse): ''' An HTTP response class that consumes data to be serialized to JSON. :param data: Data to be dumped into json. By default only ``dict`` objects are allowed to be passed due to a security flaw before EcmaScript 5. See the ``safe`` parameter for more information. :param encoder: Should be a json encoder class. Defaults to ``django.core.serializers.json.DjangoJSONEncoder``. :param safe: Controls if only ``dict`` objects may be serialized. Defaults to ``True``. :param json_dumps_params: A dictionary of kwargs passed to json.dumps(). ''' def __init__(self, data, encoder=DjangoJSONEncoder, safe=True, json_dumps_params=None, **kwargs): if safe and not isinstance(data, dict): raise TypeError(’In order to allow non-dict objects to be serialized set the ’’safe parameter to False.’ ) if json_dumps_params is None: json_dumps_params = {} kwargs.setdefault(’content_type’, ’application/json’) data = json.dumps(data, cls=encoder, **json_dumps_params) super().__init__(content=data, **kwargs)

其內部也是通過json.dumps來把數據轉換為JSON的,其還可以轉換為list類型。我們再來改一下testjson

def testjson(request): listdata = ['張三', '25', '19000347', '上呼吸道感染'] return JsonResponse(listdata)

程序報錯了

Django中使用Json返回數據的實現方法

報錯為:In order to allow non-dict objects to be serialized set the safe parameter to False,它的意思是轉換為一個非字典的類型時,safe參數要設置為False,還記得上面JsonResponse的原碼嗎?其中就有

Django中使用Json返回數據的實現方法

代碼修改為:

def testjson(request): listdata = ['張三', '25', '19000347', '上呼吸道感染'] return JsonResponse(listdata, safe=False)

Django中使用Json返回數據的實現方法

Django中使用Json返回數據的實現方法

嗯,這下正常了。

這有什么用呢?有時我們從數據庫取出來的數據,很多是列表類型的,特別是用cx_Oracle包在Oracle數據庫取出來的數據,其不支持直接字典的輸出,輸出就是一個list,這時我們使用JsonResponse(data, safe=False)就可以直接輸換為Json,發送到前端了。

到此這篇關于Django中使用Json返回數據的實現方法的文章就介紹到這了,更多相關Django Json返回數據內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: JavaScript
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
国产成人精品免费网站| 在线免费观看一区二区三区| 99久久精品国产一区二区三区 | 欧美91大片| 国产乱子伦一区二区三区国色天香| 在线观看成人av| 久久视频一区二区| 免播放器亚洲一区| 亚洲影视综合| 综合激情网...| 欧美日韩亚洲一区| 国产欧美久久久精品影院| caoporen国产精品视频| 337p亚洲精品色噜噜| 欧美a一区二区| 在线亚洲人成电影网站色www| 亚洲尤物视频在线| 在线视频观看日韩| 日本一区二区成人在线| 972aa.com艺术欧美| 欧美一区二区三区思思人| 麻豆成人久久精品二区三区红 | 亚洲日本丝袜连裤袜办公室| 国自产拍偷拍福利精品免费一| 欧美国产日韩在线观看| 91浏览器入口在线观看| 久久九九99视频| av中文字幕不卡| 精品国产一区二区三区忘忧草 | 99xxxx成人网| 一个色在线综合| 久久国产66| 日韩不卡一二三区| 欧美中文字幕一区二区三区| 免费欧美日韩国产三级电影| 色av一区二区| 久久成人麻豆午夜电影| 欧美日韩视频第一区| 国产一区二区视频在线| 欧美一区二区三区不卡| 成人短视频下载| 日韩一区二区三区视频| av电影在线观看一区| 欧美国产一区在线| 99精品视频网| 午夜久久久久久电影| 欧美在线视频你懂得| 国产一区二区美女诱惑| 日韩一区二区电影网| 成人性视频免费网站| 久久亚洲欧美国产精品乐播| 欧美精品午夜| 亚洲欧美一区二区三区孕妇| 国产亚洲一区二区三区在线播放| 亚洲福中文字幕伊人影院| 久久综合伊人| 秋霞av亚洲一区二区三| 欧美久久久久久蜜桃| 国产一区不卡视频| 久久麻豆一区二区| 91久久国产综合久久蜜月精品 | 成人手机在线视频| 国产欧美一区二区精品久导航| 亚洲伦理一区| 免费观看久久久4p| 日韩欧美在线网站| 欧美网站在线| 亚洲电影视频在线| 欧美色视频在线| 岛国精品在线播放| 欧美国产一区二区| 久久激情中文| 国产精品夜夜嗨| 日本一区二区高清| 老司机精品导航| 岛国一区二区在线观看| 国产精品乱码人人做人人爱| 亚洲一区二区三区四区中文| 精品一区二区免费在线观看| 精品盗摄一区二区三区| 在线欧美视频| 激情五月激情综合网| 久久久777精品电影网影网| 国产精品推荐精品| 成人久久18免费网站麻豆 | 国产日产欧美一区| 国产亚洲毛片| 国产91色综合久久免费分享| 中文字幕欧美一区| 欧美三级蜜桃2在线观看| 欧美一区高清| 亚洲成a人片综合在线| 日韩欧美一区二区不卡| 亚洲区国产区| 韩国女主播成人在线观看| 国产精品久久久久三级| 欧美亚洲自拍偷拍| 午夜精品剧场| 日韩**一区毛片| 国产日产亚洲精品系列| 欧美最新大片在线看 | 欧美亚洲动漫制服丝袜| 99久久精品免费看| 亚洲成va人在线观看| 精品久久久三级丝袜| 久久国产精品久久久久久电车 | 国产成人免费xxxxxxxx| 《视频一区视频二区| 欧美日韩二区三区| 亚洲小说欧美另类社区| 九一九一国产精品| 一区二区三区在线观看网站| 欧美精品在线视频| 亚洲精品一区二区三区av| 国产一区日韩二区欧美三区| 亚洲黄网站在线观看| 欧美成人福利视频| 色婷婷综合久久久中文字幕| 国产精品www.| 国产精品一区二区无线| 亚洲风情在线资源站| 国产三级一区二区| 欧美人妇做爰xxxⅹ性高电影| 一区二区三区欧美成人| 91色在线porny| 毛片一区二区三区| 亚洲欧洲一区二区在线播放| 91精品国产免费| 午夜在线观看免费一区| 欧美激情四色| 国产黄色精品网站| 亚洲综合另类小说| 国产午夜精品一区二区| 欧美日韩国产bt| 国产精品一二| 欧美国产视频在线观看| 国产成人日日夜夜| 日韩不卡在线观看日韩不卡视频| 亚洲欧美日韩久久精品| 国产午夜亚洲精品羞羞网站| 欧美日韩精品是欧美日韩精品| 一区二区三区四区五区精品| 91在线观看免费视频| 国内外成人在线| 丝袜美腿亚洲色图| 一区二区三区不卡视频| 国产精品无圣光一区二区| 欧美不卡123| 欧美精品第1页| 色哟哟欧美精品| 国产欧美日韩综合一区在线观看 | 国产人久久人人人人爽| 日韩女优视频免费观看| 欧美日韩国产三级| 色婷婷av一区二区三区大白胸| 日韩亚洲不卡在线| 在线精品一区二区| 精品999网站| 国产精品分类| 欧美日本国产| 99久久精品国产毛片| 国产91精品久久久久久久网曝门 | 好看的亚洲午夜视频在线| 99久久婷婷国产综合精品| 国产不卡一区视频| 国产一区视频导航| 国内成+人亚洲+欧美+综合在线| 麻豆精品视频在线| 日本成人在线电影网| 日韩国产一二三区| 肉丝袜脚交视频一区二区| 亚洲一区在线视频观看| 亚洲欧美日韩在线| 亚洲欧美乱综合| 亚洲日本成人在线观看| 国产精品免费观看视频| 国产视频一区二区在线观看| 久久久综合网站| 久久九九全国免费| 国产精品午夜在线| 中文字幕中文在线不卡住| 国产精品动漫网站| 欧美调教femdomvk| 91精品欧美一区二区三区综合在| 欧美一区二区精美| 精品美女被调教视频大全网站| 日韩美女主播在线视频一区二区三区| 欧美电视剧在线观看完整版| 精品成a人在线观看| 国产亚洲污的网站| 日本一区二区三区国色天香 | 丝瓜av网站精品一区二区| 天天色天天操综合| 久久国产夜色精品鲁鲁99| 国产精品2024| 成人黄色国产精品网站大全在线免费观看 | 国产精品手机在线| 久久一区激情| 欧美人狂配大交3d怪物一区| 精品国产一区二区三区不卡|