亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

伊通| 清河县| 邹城市| 景德镇市| 沂源县| 铅山县| 桦南县| 襄樊市| 丹阳市| 嘉荫县| 施秉县| 松溪县| 武定县| 周至县| 北京市| 唐海县| 应用必备| 呼伦贝尔市| 宣汉县| 高州市| 德格县| 莒南县| 新密市| 长治县| 时尚| 绥江县| 金山区| 达尔| 微山县| 寻甸| 孝感市| 辽阳县| 惠水县| 邯郸县| 内乡县| 疏附县| 武冈市| 普定县| 太白县| 鄂尔多斯市| 通许县|