Django框架全面講解 序列化

2021-08-22 08:41:17 字數 1359 閱讀 3187

關於django中的序列化主要應用在將資料庫中檢索的資料返回給客戶端使用者,特別的ajax請求一般返回的為json格式。 

python中用於序列化的兩個模組

json     用於【字串】和 【python基本資料型別】 間進行轉換

pickle 用於【python特有的型別】 和 【python基本資料型別】間進行轉換

json模組提供了四個功能:dumps、dump、loads、load

json.loads()用於將字典,列表形式的字串轉換成相應的字典,列表

json.dump()將基本資料型別,列表,字典,轉換成字串

pickle模組提供了四個功能:dumps、dump、loads、load

1.serializers

from django.core import serializers

ret = models.booktype.objects.all()

data = serializers.serialize("json", ret)

2.json.dumps

import json

#ret = models.booktype.objects.all().values('caption')

ret = models.booktype.objects.all().values_list('caption')

ret=list(ret)

result = json.dumps(ret)

由於json.dumps時無法處理datetime日期,所以可以通過自定義處理器來做擴充套件,如:

import json 

from datetime import date

from datetime import datetime

class jsoncustomencoder(json.jsonencoder):

def default(self, field):

if isinstance(field, datetime):

return o.strftime('%y-%m-%d %h:%m:%s')

elif isinstance(field, date):

return o.strftime('%y-%m-%d')

else:

return json.jsonencoder.default(self, field)

# ds = json.dumps(d, cls=jsoncustomencoder)

Django框架全面講解 序列化

關於django中的序列化主要應用在將資料庫中檢索的資料返回給客戶端使用者,特別的ajax請求一般返回的為json格式。python中用於序列化的兩個模組 json 用於 字串 和 python基本資料型別 間進行轉換 pickle 用於 python特有的型別 和 python基本資料型別 間進行...

Django框架全面講解

第一篇web框架 第二遍初識django 第三篇資料庫與orm 第四篇django之模板語言 第五篇django url name 詳解 第六篇 orm 操作大全 第七篇 django 認證系統 第八篇django分頁 第九篇 ajax 第十篇 form表單 第十一篇 中介軟體 第十二篇檢視層之檢視...

Django框架全面講解 Form

django中的form一般有兩種功能 輸入html 驗證使用者輸入 usr bin env python3 coding utf 8 import re from django import forms from django.core.exceptions import validationer...