在django中,自帶一個序列化組件,它是用來將數據進行整理、轉化成特定的為一個特定的格式(比如json數據格式),然后傳輸給前端,以便前端對數據進行處理操作。
創新互聯專注于羅城企業網站建設,響應式網站設計,商城網站建設。羅城網站建設公司,為羅城等地區提供建站服務。全流程按需網站設計,專業設計,全程項目跟蹤,創新互聯專業和態度為您提供的服務
當我們從數據庫取出一些數據時,我們需要將數據轉成特定的格式,比如列表套字典的形式,然后將這些數據序列化成json的格式傳輸給前端,這就需要我們在后端把數據庫里的數據每一個都遍歷取值出來,這樣比較麻煩,而且當數據字段很多的時候,我們很多遍歷出來!代碼如下:
后端代碼:
from django.http import JsonResponse # 導入JsonResponse模塊
from app01 import models
def ab_ser(request):
user_queryset = models.User.objects.all() # 查詢所有的數據對象
user_list = [] # 創建一個空列表
for user_obj in user_queryset: # 循環出每一個數據對象
tmp = { # 利用對象點的方式取出每一個對應元素來充當字段的值
'pk':user_obj.pk,
'username':user_obj.username,
'age':user_obj.age,
'gender':user_obj.gender
}
user_list.append(tmp) # 添加到列表中
return JsonResponse(user_list, safe=False) # 轉換成json格式返回給前端頁面(safe屬性為ture則表示只能傳dict字典的形式,因為現在為列表的形式,所以改為False)
前端代碼:
<body>
{% for user_obj in user_list %}
<p>{{ user_obj }}</p>
{% endfor %}
</body>
所以,這時候django給我們提供了一個自帶的序列化組件,它能夠將從數據庫取出的數據,自動整合成一個特定的格式!大大減少了我們的工作!
自帶的序列化模塊為serializes
# 格式:serializers.serialize('序列化成什么格式',數據)
# 示例:
from django.core import serializers # 導入
def ab_ser(request):
user_queryset = models.User.objects.all()
res = serializers.serialize('json',user_queryset) # 序列化成json格式數據
"""會自動幫你將數據變成json格式的字符串 并且內部非常的全面"""
return HttpResponse(res) # 返回給前端頁面
'''
[{"model": "app01.user",
"pk": 1,
"fields": {"username": "gary", "age": 19, "gender": 1}},
{"model": "app01.user",
"pk": 2,
"fields": {"username": "tom", "age": 20, "gender": 2}},
{"model": "app01.user",
"pk": 3,
"fields": {"username": "kevin", "age": 29, "gender": 3}},
{"model": "app01.user",
"pk": 4,
"fields": {"username": "jack", "age": 38, "gender": 4}}]
'''
# 我們可以看到它幫我們處理的數據是非常全面的,
# 告訴了我們這個數據來自于哪一個應用下的拿一張表,還告訴了我們對應的主鍵值,和詳細信息
當前題目:django自帶的序列化組件
新聞來源:http://m.kartarina.com/article46/dsogieg.html
成都網站建設公司_創新互聯,為您提供搜索引擎優化、網站設計公司、品牌網站制作、網站維護、用戶體驗、小程序開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯