14 DRF返回值的自定义
摘要:django中的返回值可以分为: 异常返回值 正常返回值 1. Djanog中常见的异常返回值有如下 序列化校验错误 { "age": [ "A valid integer is required." ] } 数据不存在http://127.0.0.1:8000/api/demon/11/ { "d
阅读全文
posted @
2023-02-20 15:35
阿明明
阅读(182)
推荐(1) 编辑
13 drf-解析器
摘要:之前使用 request.data 获取请求体中的数据。 这个 reqeust.data 的数据怎么来的呢?其实在drf内部是由解析器,根据请求者传入的数据格式 + 请求头来进行处理。 解析器可以设置多个,默认解析器:JSONParser,FormParser,MultiPartParse 可以在全
阅读全文
posted @
2022-11-16 10:47
阿明明
阅读(27)
推荐(0) 编辑
12.drf-路由
摘要:在之前进行drf开发时,对于路由我们一般进行两种配置: 视图继承APIView from django.urls import path from app01 import views urlpatterns = [ path('api/users/', views.UserView.as_view
阅读全文
posted @
2022-11-16 10:39
阿明明
阅读(26)
推荐(0) 编辑
11. drf-分页
摘要:如果数据很多,我们不能将所有的数据一下传递给前端,通常的做法是通过分页进行展示 在drf中为我们提供了一些分页的相关类 BasePagination PageNumberPagination(BasePagination) # 支持 /accounts/?page=4&page_size=100 格
阅读全文
posted @
2022-11-16 10:36
阿明明
阅读(47)
推荐(0) 编辑
10.drf-搜索条件
摘要:1.自定义filter 继承BaseFilterBackend 定义filter_queryset函数 注意:只有在继承了GenericAPIView的视图类中才生效 代码 from app01.models import UserInfo from rest_framework import se
阅读全文
posted @
2022-11-16 10:24
阿明明
阅读(145)
推荐(0) 编辑
9.drf-视图
摘要:在视图中,如果参数有request,我们可以直接使用,如果参数没有,则可以通过self.request获取 1.APIView 我们之前使用的基本上都是APIView,给我们提供了免除csrf验证,请求封装,版本控制,认证,权限和限流的功能,以下是源码展示 2.GenericAPIView Gene
阅读全文
posted @
2022-11-16 10:07
阿明明
阅读(31)
推荐(0) 编辑
8.drf-序列化器
摘要:在序列化类中,如果想使用request,则可以通过self.context['request']获取 序列化器的主要由两大功能 - 对请求的数据进行校验(底层调用的是Django的Form和ModelForm)- 对数据库查询的数据进行序列化 1.数据的校验 注意自定义的钩子函数中的参数value,
阅读全文
posted @
2022-11-15 13:46
阿明明
阅读(45)
推荐(0) 编辑
7.drf-限流
摘要:限流就是限制用户的访问频率,如每分钟的操作的次数不超过3次等 对于匿名用户,使用用户IP作为唯一标识 对于登录用户,则使用用户的ID作为唯一标识 1.限流的机制 DRF中维护了一个缓存,以用户的唯一标识作为键,一个列表为值,存放着当前用户访问的时间戳。 当用户再次请求的时候,会根据用户唯一标识去缓存
阅读全文
posted @
2022-11-15 10:57
阿明明
阅读(107)
推荐(0) 编辑
6.drf-权限
摘要:认证:判断用户是否登陆,从而获取用户的信息 权限:判断当前用户是否有权限访问API接口,例如:普通用户,管理员,超级管理员权限可能是不同的 下面通过案例进行介绍 模型类 from django.db import models class UserInfo(models.Model): role_c
阅读全文
posted @
2022-11-15 10:48
阿明明
阅读(105)
推荐(0) 编辑
5.drf-认证
摘要:在开发后端API的时候,不同的功能可能有不同的限制,如 无需验证:API可以直接访问 需要验证:API只有用户通过验证才可以访问 这个时候我们就可以使用DRF提供的认证组件,下面通过一个例子介绍 我们希望用户在登录之后,才能访问订单页面 模型类 from django.db import model
阅读全文
posted @
2022-11-14 20:58
阿明明
阅读(69)
推荐(0) 编辑
4.drf-版本管理
摘要:根据RESTful规范,后端API中需要体现出版本,DRF中支持5种版本的设置,常见的三种如下 1. URL的GET中传递参数 在视图类中定义 from rest_framework.versioning import QueryParameterVersioning versioning_clas
阅读全文
posted @
2022-11-14 20:43
阿明明
阅读(58)
推荐(0) 编辑
3.drf使用配置&请求封装
摘要:1.drf使用配置 1.1 安装 pip install djangorestframework==3.12.4 版本要求 djangorestframework==3.12.4 python(3.5-3.9) Django(2.2, 3.0, 3.1) djangorestframework==3
阅读全文
posted @
2022-11-14 18:24
阿明明
阅读(74)
推荐(0) 编辑
2.Restful规范
摘要:restful规范是一套主流的API规范,目的是将前后端统一规范。节省二者的沟通成本, 提高开发效率,常见的规范有以下9种 1.https协议 在实际项目部署中,使用https协议代替http,目的是为了让接口更加安全 当然https在项目开发中是不相关的 2.域名 对于后端的开发人员,在实现接口的
阅读全文
posted @
2022-11-09 21:07
阿明明
阅读(103)
推荐(0) 编辑
1.drf概述
摘要:1.前后端不分离 特点: 用户访问URL 执行对应的视图函数,进行业务处理 视图函数通过render函数进行渲染,返回给客户端 开发流程: 前端:HTML+CSS+JS 后端:完成业务处理,将数据嵌套在模板文 2.前后端分离 特点: 前端基于vue.js实现前端代码,本质上也是html+css+js
阅读全文
posted @
2022-11-09 20:18
阿明明
阅读(87)
推荐(0) 编辑