免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
DRF之初識接口設(shè)計

DRF(django rest framework)

簡述DRF(Django restframework)就是一個Django中使用 rest 接口規(guī)范的模塊。什么rest接口規(guī)范?就是對于我們書寫前后端分離時,定義接口的一種規(guī)范,列舉如下規(guī)范:

請求方式url 設(shè)計(接口)請求內(nèi)容響應(yīng)內(nèi)容
GET127.0.0.1:8000/books/獲取所有書本的信息[ {書的id,name,…} , {}, {} …]
GET127.0.0.1:8000/books/{ id }獲取單條數(shù)據(jù)據(jù)單條數(shù)據(jù){ 書的 id,name…. }
POST127.0.0.1:8000/books/增加單條數(shù)據(jù)添加成功的數(shù)據(jù){ ‘mesage’:‘ok’}
DELETE127.0.0.1:8000/books/{ id }刪除單條數(shù)據(jù)返回空“ ”
PUT127.0.0.1:8000/books/{ id }修改數(shù)據(jù)更新后完整的數(shù)據(jù){ }

從結(jié)構(gòu)上看,比我們一般設(shè)計的 url 地址更加簡潔明了,方便程序員維護(hù)還有錯誤處理

錯誤處理:{ “error” : “message” }

如何在 Django 中實現(xiàn) rest接口規(guī)范?

安裝 DRF

pip install djangopip install djangorestframework

完成之后可以進(jìn)行學(xué)習(xí)了以下內(nèi)容:

  • APIView
  • 解析器組件
  • 序列化組件
  • 視圖組件
  • 認(rèn)證組件
  • 權(quán)限組件
  • 頻率控制組件
  • 分頁組件
  • 響應(yīng)器組件
  • url 控制器

Django 中View視圖函數(shù)使用有些不是很方便,所以封裝了APIView

class LoginView(View):    def get(self, request):        return render(request, 'login.html')    def post(self, request):        print(request.POST)        # 此時Ajax發(fā)送的請求無法被識別        return HttpResponse("ok")

APIView的使用

class LoginView(APIview):    def get(self, request):        return render(request, 'login.html')    def post(self, request):        print(request.data)        # APIView中的解析器就幫我們做到了解析的功能        return HttpResponse("ok")

View源碼分析CBV(django classbasedview)

  1. from django.views import View

  2. 在視圖類種繼承 View 類 class StudentView(View):pass

  3. urls.py 中定義路由關(guān)系

    1. from django.urls import re_path
      from classbasedview import views

    urlpatterns = [

    ? re_path(“l(fā)ogin/”, views.LoginView.as_view()),

    ]

  4. Django啟動時加載路由系統(tǒng),會讀取urlpatterns中的對應(yīng)關(guān)系

  5. 執(zhí)行as_view(),或得器返回值,該函數(shù)返回一個view視圖函數(shù)

  6. 此時綁定關(guān)系建立好了,當(dāng)用戶請求過來時,就會執(zhí)行url對應(yīng)得view視圖函數(shù)

  7. 該視圖函數(shù)得返回值是self.dispatch()

  8. self.dispatch()會找到http_method_names變量里面得函數(shù),并執(zhí)行,并最終返回

APIView源碼分析

封裝自己的東西,用到view得方法

  1. 安裝djangorestframework
    pip install djangorestframework

  2. 在views.py中
    from rest_framework.view import APIView

  3. 在視圖類繼承APIView

    class StudentView(APIView):    def get(self, request):        pass    def post(self, request):        pass    
  4. urls.py 中保持不變

  5. Django啟動時加載路由系統(tǒng),會讀取 urlpatterns 中的對應(yīng)關(guān)系

    from django.urls import pathfrom api.view import viewsurlpatterns = [    path("login/", views.LoginView.as_view()),]
  6. 此時綁定關(guān)系已經(jīng)建立好了,當(dāng)用戶請求過來時,就會執(zhí)行 url 對應(yīng)的 View 視圖函數(shù)

  7. 請求到來,執(zhí)行View視圖函數(shù)

  8. 最后執(zhí)行 dispatch(),獲取返回值,返回給用戶

  9. Django RestFramework 自定制的內(nèi)容就在重寫的 as_view 函數(shù)里面以及 dispatch() 方法

來源:https://www.icode9.com/content-4-421551.html
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
drf——APIView及其內(nèi)部函數(shù)/類的源碼分析
python測試開發(fā)django-62.基于類的視圖(APIView和View)
restframework詳細(xì)
07 渲染模塊
DJANGO基于類視圖中實現(xiàn)login_required、permission_required登陸要求和權(quán)限保護(hù)
Django中關(guān)于“CSRF verification failed. Request aborted”的問題
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服