简介
Django-restframework是一个前后端分离的,用于开发webAPI的框架。
Restful
restful是一个面向资源开发的接口规范。
在url地址只加资源本身,不加动词,用get,post,put,delete区分增删改查。
但实际开发中put和delete整合在了post里。
Django的CBV
django的视图函数叫做FBV,也就是函数型视图函数,路由匹配成功直接导向一个视图函数。
即路由映射函数,函数们相互独立。
CBV即路由映射一个类,类中包含这个资源的各种方法。
CBV与FBV写法对比
CBV:
def book(request):
if request.method == "GET":
return HttpResponse("GET...")
else:
return HttpResponse("POST... ")
FBV:
from django.views import View
class BookView(View):
def get(self,request):
return HttpResponse("GET...")
def post(self,request):
return HttpResponse("POST... ")
路由的区别:
urlpatterns = [
path('admin/', admin.site.urls),
# 这是CBV
path('book/', views.book),
# 这是FBV
path('book/', views.BookView.as_view()),
]
DRF的序列化器 Serializer
DRF的序列化起使用类来定义,用于操作数据库。
调试使用python manage.py shell 不然会报错找不到SETTINGS