中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

詳解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

亳州市| 舟山市| 北川| 黄浦区| 荆州市| 海南省| 涟水县| 延川县| 泸溪县| 房产| 延津县| 巍山| 连州市| 静乐县| 宁远县| 游戏| 正定县| 锦州市| 清远市| 和田市| 新余市| 嫩江县| 怀远县| 徐闻县| 太湖县| 台湾省| 个旧市| 镇雄县| 芒康县| 武汉市| 南靖县| 昌江| 合阳县| 江孜县| 卫辉市| 乌兰察布市| 巴林左旗| 和龙市| 灵寿县| 东莞市| 冀州市|