什么是DRF?

简介

Django REST framework (DRF)是基于Django写出符合 RESTful 规范的借口

安装

  1. pip3 install djangorestframework

RESTful规范

简介

REST是Representational State Transfer的简称,中文翻译为“表征状态转移”。REST与技术无关,它是一种软件架构风格,适用于前后端分离的应用模式中

10条规范

  1. HTTP 加密传输(HTTPS协议=HTTP协议+SSL/TLS
  2. 接口特征表示(URL中带有API的关键字标识 eg:https://api.changchen.cc
  3. 多数据版本共存(URL中 ,带接口的版本 eg:https://api.changchen.cc/v1/books/
  4. 数据即资源,使用名词
  5. 请求方式决定决定操作
  6. 响应中带状态码
  7. 响应中带错误信息
  8. 返回结果中携带资源连接
  9. 请求路径中带过滤,在URL后带参数(eg:https://api.changchen.cc/books/?name=金
  10. 返回结果符合要求规范

DRF基本使用

setting.py

  1. INSTALLED_APPS = [
  2. ...
  3. 'rest_framework'
  4. ]

models.py

  1. from django.db import models
  2. class Book(models.Model):
  3. name = models.CharField(max_length=32)
  4. price = models.DecimalField(max_digits=8, decimal_places=2)

serialized.py(新建)

  1. from rest_framework.serializers import ModelSerializer
  2. from app01 import models
  3. class BookSerializers(ModelSerializer):
  4. class Meta:
  5. model = models.Book
  6. fields = "__all__"

views.py

  1. from rest_framework.viewsets import ModelViewSet
  2. from .serializer import BookSerializers
  3. from .models import Book
  4. class BookView(ModelViewSet):
  5. serializer_class = BookSerializers
  6. queryset = Book.objects.all()

url.py

  1. from django.contrib import admin
  2. from django.urls import path
  3. from rest_framework.routers import SimpleRouter
  4. from app01 import views
  5. router = SimpleRouter()
  6. router.register('books', views.BookView,)
  7. urlpatterns = [
  8. path('admin/', admin.site.urls),
  9. ]
  10. urlpatterns += router.urls

DRF之入门 - 图1