91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

詳解django的serializer序列化model幾種方法

發布時間:2020-10-07 23:34:21 來源:腳本之家 閱讀:284 作者:讓我在雪地上撒點野 欄目:開發技術

序列化是將對象狀態轉換為可保持或傳輸的格式的過程。與序列化相對的是反序列化,它將流轉換為對象。這兩個過程結合起來,可以輕松地存儲和傳輸數據

方法一:通過繼承View類,重寫get方法,獲取商品的前是前十條數據,通過serialize序列化數據,返回數據響應。

from django.views.generic import View
from goods.models import Goods
from django.core import serializers
from django.http import HttpResponse
 
class GoodsListView(View):
 
  def get(self,request):
   """
   通過django的view實現商品列表頁
   :param request:
   :return:
   """
   #返回前所有商品的前10條數據
   goods_list = Goods.objects.all()[:10]
   #直接轉換成json類型的字符串
   data = serializers.serialize("json",goods_list)
   #注意要加上:"application/json",否則在瀏覽器顯示不正常
   return HttpResponse(data,"application/json")

方法二:通過繼承View類,重寫get方法,獲取指定獲取某些字段商品的前十條數據,通過serialize序列化數據,返回數據響應。

from django.views.generic import View
from goods.models import Goods
from django.http import HttpResponse
import json
class GoodsListView(View):
  #重寫get方法
  #django返回第一種方式
  def get(self,request):
    # 得到商品前10條數據
     goods=Goods.objects.all()[:10]
     goods_list=[]
     for good in goods:
       item={}
       item['name']=good.name
       item['click_num']=good.click_num
       item['shop_price']=good.shop_price
       goods_list.append(item)
    response_data=json.dumps(goods_list,ensure_ascii=False)
    #python字符串 設置為utf-8編碼
    return HttpResponse(response_data,'application/json')

方法三:使用Jsonresponse,通過繼承View類,重寫get方法,獲取商品的前是前十條數據,通過serialize序列化數據,返回數據響應,工作中我們常用第三種方法返回JSON數據。

from django.views.generic import View
from goods.models import Goods
from django.core import serializers
import json
from django.http import JsonResponse
class GoodsListView(View):
  def get(self,request):
   """
   通過django的view實現商品列表頁
   :param request:
   :return:
   """
   #返回前所有商品的前10條數據
   goods_list = Goods.objects.all()[:10] 
   #序列化,把內存中的python對象,轉換成網絡中能夠傳輸的對象
   #直接轉換成json類型的字符串
   data = serializers.serialize("json",goods_list)
   #轉換成字典
   data = json.loads(data)
   return JsonResponse(data,safe=False)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

桐乡市| 都昌县| 旺苍县| 华阴市| 新龙县| 台江县| 云和县| 和政县| 哈尔滨市| 内丘县| 辰溪县| 松原市| 桑植县| 专栏| 吴江市| 潮安县| 林芝县| 友谊县| 梧州市| 贵阳市| 泽普县| 富平县| 曲靖市| 简阳市| 高台县| 兴文县| 应城市| 得荣县| 奉新县| 常熟市| 西盟| 乐业县| 三门峡市| 分宜县| 张家港市| 伊通| 潍坊市| 梁河县| 英德市| 海林市| 扶风县|