中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

Serializer和ModelSerializer如何使用

這篇文章主要為大家展示了“Serializer和ModelSerializer如何使用”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Serializer和ModelSerializer如何使用”這篇文章吧。

創新互聯主營雙柏網站建設的網絡公司,主營網站建設方案,重慶APP開發,雙柏h5微信小程序定制開發搭建,雙柏網站營銷推廣歡迎雙柏等地區企業咨詢

Django REST Framework API返回結果解析

學習了之前的文章我們知道如何使用Django REST framework框架設計API,我還使用Schools APP設計了一個API

Serializer和ModelSerializer如何使用

除此之外,我們還可以查看API的OPTIONS,然后可以得很多信息,比如說第一行請求行’HTTP 200 OK’,表示請求成功,第二行Allow表示允許的請求方式,Content-Type:application/json表示發送端發送的實體數據的數據類型。
還有下面的json數據,name表示接口名字、description詳細描述、renders表示可解析的形式,parses是服務器端可解析的三種方式

Serializer和ModelSerializer如何使用

我們還可以在app的views.py的類中可以給API添加注釋,如比給前端人員的接口說明等信息,且注釋可以在Django REST Framework的頁面中顯示;

class AllSchoolsView(APIView):
    """
    這是AllSchoolsView的返回結果
    """
    def get(self, request):
        schools = School.objects.all()
        schools_serializer = SchoolSerializer(schools, many=True)
        return Response(schools_serializer.data)

然后重新運行項目,然后刷新頁面,我們就可以得到如圖的效果:

Serializer和ModelSerializer如何使用

Django REST Framework的登錄

首先為了避免在Django REST Framework 中登錄時報錯'CSRFCheck' object has no attribute 'process_request',我們需要將Django升級到1.11.6以上的版本:pip install django==1.11.6,記得是兩個等號喲。然后用戶就可以使用之前創建的超級用戶成功登錄了

Serializer和ModelSerializer如何使用

Restful API的方法

GET(SELECT):從服務器取出資源(一項或多項);

POST(CREATE):在服務器新建一個資源;

PUT(UPDATE):在服務器更新資源(客戶端提供改變后的完整資源);

PATCH(UPDATE):在服務器更新資源(客戶端提供改變的屬性);

DELETE(DELETE):從服務器刪除資源;

HEAD:獲取資源的元數據;

OPTIONS:獲取信息,關于資源的哪些屬性是客戶端可以改變的;

實現POST接口

首先編輯serializer.py文件,將SchoolSerializer類中的字段與School表中的字段一一對應,保證數據庫寫入不會報錯;

from rest_framework import serializers
from .models import School
class SchoolSerializer(serializers.Serializer):
    name = serializers.CharField()
    desc = serializers.CharField()
    location = serializers.CharField()
    create_time = serializers.DateTimeField(default=datetime.now,)
    course_numbers = serializers.IntegerField()
    def create(self, validated_data):
        """
        Create and return a new `Snippet` instance, given the validated data.
        """
        return School.objects.create(**validated_data)

然后編輯views.py文件,修改AllSchoolsView類,新增一個post提交方法,在代碼中打上斷點;

from rest_framework.views import APIView
from .serializer import SchoolSerializer
from rest_framework.response import Response
from rest_framework import status
class AllSchoolsView(APIView):
    """
    這是AllSchoolsView的返回結果
    """
    def get(self, request):
        schools = School.objects.all()
        schools_serializer = SchoolSerializer(schools, many=True)
        return Response(schools_serializer.data)
    def post(self, request):
        # 將request.data的數據進行校驗
        # request.data會拿到post提交的字段
        serializer = SchoolSerializer(data=request.data)
        # 如果驗證字段合法
        if serializer.is_valid():
            # 直接保存到數據庫,這里會調用GoodsSerializer的create方法
            serializer.save()
            return Response(serializer.data, status=status.HTTP_201_CREATED)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

然后可以使用postman進行提交請求,先在Body中選擇x-www-form-urlencoded的提交方式,然后填寫好相應字段的值

Serializer和ModelSerializer如何使用

然后發送send,在post方法中把得到的數據封裝且進行序列化,返回到序列化對象serializer中,最后通過save方法保存到數據庫中,然后我們訪問http://127.0.0.1:12345/school/all/,得到的數據是不是增加了一條新的記錄呀

Serializer和ModelSerializer如何使用

還可以直接在瀏覽器的頁面中進行post請求,先選擇提交格式,然后創建相應數據,直接點擊POST,如果返回HTTP 201 Created,則數據已經被創建,寫入了數據庫中;

Serializer和ModelSerializer如何使用

Serializer和ModelSerializer如何使用

Serializer和ModelSerializer如何使用

以上是“Serializer和ModelSerializer如何使用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創新互聯行業資訊頻道!

網站標題:Serializer和ModelSerializer如何使用
文章轉載:http://www.2m8n56k.cn/article18/jphcdp.html

成都網站建設公司_創新互聯,為您提供響應式網站云服務器企業建站網站排名ChatGPT定制開發

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

網站托管運營
主站蜘蛛池模板: 日本天堂视频在线观看 | 最新亚洲情黄在线网站无广告 | 日韩欧一级毛片在线播无遮挡 | 色偷偷成人 | 97在线碰碰观看免费高清 | 成人三级做爰在线观看男女 | 亚洲精品国产一区二区三 | 女教师的一级毛片 | 欧美 亚洲 另类 自拍 在线 | 久久爰www免费人成 久久曰视频 | 免费看成人频视在线视频 | 成人黄页网站 | 美女啪啪网站又黄又免费 | 久草在线视频网站 | 久久成人视 | 久久精品久久精品 | 国产自愉自愉全免费高清 | 免费岛国小视频在线观看 | 欧美一级在线播放 | 日韩亚洲一区中文字幕 | 国产手机在线小视频免费观看 | 亚洲天堂在线视频播放 | 国产精品久久在线 | 综合久久久久久中文字幕 | 亚洲国产成人九九综合 | 亚洲 欧美 成人 | 男女无遮掩做爰免费视频软件 | 一级黄视频| 九九九国产视频 | 日本特级黄毛片毛片视频 | 精品日韩一区二区三区视频 | 伊人久久大香线焦在观看 | 国产精品高清视亚洲一区二区 | 久久99亚洲精品久久久久99 | 国产一二三区在线观看 | 国内久久| 亚洲精品tv久久久久 | 日本免费毛片在线高清看 | 精品国产一区二区二三区在线观看 | 五月色一区二区亚洲小说 | 国产精品二区三区 |