Django返回json的幾種方法(一)

使用Django已經(jīng)很簡(jiǎn)單仔蝌,如今前后端分離已經(jīng)開始普及泛领,那么對(duì)于我們前端來說,我們只需要拿到接口就可以了敛惊。雖然django的模板也很好用渊鞋,但畢竟我們做前后端分離開發(fā),vue、react離我們更近一些锡宋,所以我們使用django只需要實(shí)現(xiàn)符合restful規(guī)范的接口就可以了儡湾。

那么接下來就給大家分享一下Django返回前端數(shù)據(jù)的幾種方法:

Serialize----序列化django對(duì)象

序列化 —— 將程序中的一個(gè)數(shù)據(jù)結(jié)構(gòu)類型轉(zhuǎn)換為其他格式(字典、JSON执俩、XML等)徐钠,例如將Django中的模型類對(duì)象裝換為JSON字符串,這個(gè)轉(zhuǎn)換過程稱為序列化役首。即后端數(shù)據(jù)轉(zhuǎn)給前端尝丐。

  1. 首先我們?yōu)槭裁葱枰褦?shù)據(jù)序列化?
    我們可能會(huì)有這樣的需求:
  • 把內(nèi)存中的各種數(shù)據(jù)類型保存到本地進(jìn)行數(shù)據(jù)持久化
  • 把內(nèi)存中的各種數(shù)據(jù)類型通過網(wǎng)絡(luò)傳送給其他機(jī)器或者客戶端

首先我們先了解一下Python與Json之間數(shù)據(jù)類型的對(duì)應(yīng)關(guān)系

image.png

articles = Article.objects.all() 打印出來
image.png

打印出的QuerySet 是Model的列表衡奥。

serializers.serialize('json', articles, ensure_ascii=False) 再次打印出來爹袁!

image.png

此時(shí)拿到的就是純字符串,只需要將字符串解析一下就ok了矮固。

import json
json.loads(serializers.serialize('json', articles, ensure_ascii=False))

然后如果我們要把拿到的數(shù)據(jù)發(fā)送給前端失息,只需要封裝成json對(duì)象,使用JsonResponse返回給前端就可以了

from django.http import JsonResponse


def article_lists(request):
    articles = Article.objects.all()
    return JsonResponse({
        'code': '0000',
        'data': json.loads(serializers.serialize('json', articles, ensure_ascii=False)),
        'msg': '獲取文章列表成功'
    })

那么我們通過瀏覽器看一下得到的數(shù)據(jù)~~~


image.png

太棒了乏屯,我們已經(jīng)成功拿到數(shù)據(jù)了~ 不過根时,這數(shù)據(jù)怎么看起來有點(diǎn)...額... 這到底怎么回事? 能不能換種更優(yōu)雅的方式瘦赫? ~ 那么請(qǐng)繼續(xù)關(guān)注我3皆巍!确虱!下篇文章告訴大家更簡(jiǎn)單的更優(yōu)雅的方法含友。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市校辩,隨后出現(xiàn)的幾起案子窘问,更是在濱河造成了極大的恐慌,老刑警劉巖宜咒,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件惠赫,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡故黑,警方通過查閱死者的電腦和手機(jī)儿咱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來场晶,“玉大人混埠,你說我怎么就攤上這事∈幔” “怎么了钳宪?”我有些...
    開封第一講書人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我吏颖,道長(zhǎng)搔体,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任半醉,我火速辦了婚禮嫉柴,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘奉呛。我一直安慰自己计螺,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開白布瞧壮。 她就那樣靜靜地躺著登馒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪咆槽。 梳的紋絲不亂的頭發(fā)上陈轿,一...
    開封第一講書人閱讀 52,441評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音秦忿,去河邊找鬼麦射。 笑死,一個(gè)胖子當(dāng)著我的面吹牛灯谣,可吹牛的內(nèi)容都是我干的潜秋。 我是一名探鬼主播,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼胎许,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼峻呛!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起辜窑,我...
    開封第一講書人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤钩述,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后穆碎,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體牙勘,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年所禀,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了方面。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡北秽,死狀恐怖葡幸,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情贺氓,我是刑警寧澤蔚叨,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布床蜘,位于F島的核電站,受9級(jí)特大地震影響蔑水,放射性物質(zhì)發(fā)生泄漏邢锯。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一搀别、第九天 我趴在偏房一處隱蔽的房頂上張望丹擎。 院中可真熱鬧,春花似錦歇父、人聲如沸蒂培。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽护戳。三九已至,卻和暖如春垂睬,著一層夾襖步出監(jiān)牢的瞬間媳荒,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工驹饺, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留钳枕,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓赏壹,卻偏偏與公主長(zhǎng)得像鱼炒,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子卡儒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 基于類的視圖 Django中的視圖是一個(gè)可調(diào)用對(duì)象田柔,它接收一個(gè)請(qǐng)求然后返回一個(gè)響應(yīng)俐巴。這個(gè)可調(diào)用對(duì)象不僅僅限于函數(shù)骨望,...
    蘭山小亭閱讀 4,582評(píng)論 1 13
  • 一、Django框架前言知識(shí): 1欣舵、C/S和B/S的區(qū)別: C/S結(jié)構(gòu)軟件:客戶端/服務(wù)端軟件擎鸠,即客戶端要自己下載...
    月下獨(dú)酌123閱讀 4,584評(píng)論 0 36
  • 這也是很多年前的事。 一小朋友推薦我看朗達(dá)·拜恩的《秘密》缘圈,這個(gè)比我小十多歲的小朋友性格開朗劣光、樂觀向善...
    美生活閱讀 353評(píng)論 0 0
  • 本文參加#未完待續(xù),就要表白#活動(dòng)糟把,本人承諾绢涡,文章內(nèi)容為原創(chuàng),且未在其他平臺(tái)發(fā)表過遣疯。 剛踏進(jìn)學(xué)校大門的時(shí)候雄可,內(nèi)心其...
    一奕丶閱讀 2,579評(píng)論 57 194
  • Day38 課堂作業(yè) 1、SSH批量管理項(xiàng)目一鍵分發(fā) 1.)ssh-keygen非交互式創(chuàng)建秘鑰對(duì)具體命令: 參數(shù)...
    MineG閱讀 249評(píng)論 0 0