一、DRF内容概况 全程:django-rest-framework,是一个APP DRF知识点: drf-drf入门规范 drf-序列化组件(DRF重点) drf-请求与响应 drf-视图组件 drf-路由组件 drf-认证权限频率 drf-过滤排序分页异常处理 drf-自动生成接口文档 drf-JWT认证:token drf-Xadmin的使用:第三方写的,比admin
认证校验 认证校验是十分重要的,如用户如果不登陆就不能访问某些接口。 再比如用户不登陆就不能够对一个接口做哪些操作。 drf中认证的写法流程如下: 1.写一个类,继承BaseAuthentication,并且覆写其authenticate方法 2.当认证通过后应该返回两个值,并且第一
排序 对于列表数据,REST framework提供了OrderingFilter过滤器来帮助我们快速指明数据按照指定字段进行排序。 使用方法: 在类视图中设置filter_backends, 使用 rest_framework.filters.OrderingFilter 过滤器,REST framework会在请求的查询字符串参数中检查是否包含了ordering参数,如
前言 drf视图的源码非常的绕,但是实现的功能却非常的神奇。 它能够帮你快速的解决ORM增删改查的重复代码,非常的方便好用。 下面是它源码中的一句话: class ViewSetMixin: """ This is the magic. """ 好了,屁话不多说,直接看看drf视图中的功能吧。
目录1.限流2.过滤2.1在settings.py中配置2.2在serializers.py序列化2.3views.py3.排序3.1在settings.py中配置3.2在serializers.py序列化2.3views.py4.分页3.1在settings.py中配置3.2在serializers.py序列化2.3views.py 1.限流 在settings.py中配置 REST_FRAMEWORK = { # 限
目录 1.APIView 2.GenericAPIView:通用视图类 3.5个视图扩展类:ListModelMixin,CreateModelMixin,RetrieveModelMixin,UpdateModelMixin,DestroyModelMixin 4.GenericAPIView的视图子类:ListAPIView,CreateAPIView,RetrieveAPIView,UpdateAPIView,DestroyAPIView 5.视图集基类:Vie
1. mixin 和 viewsets drf 视图中用到最多的(继承)就是 viewsets.GenericViewSet 和 mixin 中的五个方法,视图主要可分为以下几类: GenericViewSet(viewsets) # drf 最高级 GenericAPIView # drf APIView # drf View # django 自带 每个 view 的功能也不尽相同,主
Django入门 ---------- Django 介绍 ---------- Django 模型 ---------- Django 视图 ---------- Django 模板 Django 开发练习 ---------- 项目介绍和准备 ---------- 用户注册功能实现 ---------- 验证码功能实现 ---------- 用户登录功能实现 ---------- 用户中心功能实现 ----
1.创建程序并初始化数据库: models.py中的内容: from django.db import models # Create your models here. class Category(models.Model): """ 文章分类 """ name = models.CharField(verbose_name='分类',max_length=32) class Ar
from app01 import models from rest_framework import exceptions from rest_framework.authentication import BaseAuthentication # 用drf的认证,写一个类 class LoginAuth(BaseAuthentication): # 函数名一定要叫authenticate,接收必须两个参数,第二个参数是request对
""" drf的请求模块 1、drf的request是在wsgi的request基础上再次封装 2、wsgi的request作为drf的request一个属性:request 3、新的request对旧的request做了完全兼容 4、新的request对数据解析更规范化:所有的拼接参数都解析到query_params中,所有数据包数据都被解析到data中 query_p
Author:Laoqi 目录1、认证1.1 认证类的构建1.2 认证类的使用2 权限2.1 权限类的构建2.2 权限类的使用2.3 drf内置的权限类3 频率3.1 频率类的构建3.2 频率类的使用3.3 df内置的频率限制类4 过滤与排序4.1 过滤4.2 排序 1、认证 1.1 认证类的构建 新建一个自定义类,该类继承rest_fr
目录1 restful规范--10条2 django上写符合restful规范的接口3 drf写接口4 APIView--》继承了原生View---》get,post方法5 Request对象:request.request,request.data,重写了__getattr_,request.method-->去原生request中拿6 Response对象---》封装了原生的HttpResponse,Response(data,he
一、序列化与反序列化 1.序列化 概念:将程序中的一个数据结构类型转化为其它格式(字典、json、XML等)。例如:将django中的模型类对象转换为json字符串,这个转换过程称之为序列化 序列化时机:当需要给前端响应模型数据时,需要将模型数据序列化成前端需要的格式 2.反序列化 概念:将其它格式
目录一 视图1.1 试图配置1.2 视图1.2.1 2个视图基类1.2.1.1 APIView2.2.1.2 GenericAPIView[通用视图类]get_serializer(self, args, *kwargs)1.2.2 5个视图扩展类1)ListModelMixin2)CreateModelMixin3)RetrieveModelMixin4)UpdateModelMixin5)DestroyModelMixin1.2.3 GenericAPIView的
1 web开发模式 #前后端混合开发(前后端不分离):返回的是html的内容,需要写模板#前后端分离:只专注于写后端接口,返回json,xml格式数据# xml格式<xml><name>lqz</name></xml># json{"name":"lqz"}# java---》jsphttps://www.pearvideo.com/category_loading.jsp#php写的http://www.aa7
1.drf的安装 安装:pip install djangorestframework==3.10.3 使用: 1 在setting.py 的app中注册 INSTALLED_APPS = [ 'rest_framework' ] 2 在models.py中写表模型 class Book(models.Model): nid=models.AutoField(primary_k
目录一 Web应用模式1.1 前后端不分离1.2 前后端分离二 API接口三 接口测试工具:Postman四 RESTful API规范4.1 数据的安全保障4.2 接口特征表现4.3 多数据版本共存4.4 数据即是资源,均使用名词(可复数)4.5 资源操作由请求方式决定(method)4.6 过滤,通过在url上传参的形式传递搜索条件4.7
Django和DRFDRF的优势 DRF,全称Django Restful Framework,是一个基于Django的Restful接口框架,是主要用来做API接口的,为前端提供数据的接口 DRF是一个强大灵活的Django工具包,用于在Web后台构建Restful接口 在Django下构建Restful接口的工具不止一个(比如Tastypie),但是当下最出名
一、基于JWT的Token登录认证 1. JWT简介 json Web Token(缩写JWT)是目前最流行的跨域认证解决方案 session登录的认证方案是看,用户从客户端传递用户名和密码登录信息,服务端认证后将信息储存在session中,将session_id放入cookie中,以后访问其他页面,服务器都会带着cookie,服务端会自动从c
Django rest framework源码分析(2)----权限 添加权限 (1)API/utils文件夹下新建premission.py文件,代码如下: message是当没有权限时,提示的信息 # utils/permission.py class SVIPPremission(object): message = "必须是SVIP才能访问" def has_permission(self,request,view)
@api_view() 在DRF中,也可以使用常规的基于函数的视图,DRF提供了一组简单的装饰器,用来包装你的视图函数,以确保视图函数会收到Request(而不是Django原始的HttpRequest)对象。并且返回Response(而不是Django中的HttpResponse)对象。同时允许你设置这个请求的处理方式。 @api_view()装饰器
Web应用模式 在开发Web应用中,有两种应用模式: 前后端不分离 前后端分离 1 前后端不分离 在前后端不分离的应用模式中,前端页面看到的效果都是由后端控制,由后端渲染页面或重定向,也就是后端需要控制前端的展示,前端与后端的耦合度很高。 这种应用模式比较适合纯网页应用,但是当后端对
在DRF项目的开发中,我们通过直接使用序列化器保存的用户信息时,用户的密码是被明文保存到数据库中。 代码实现: def create(self, validated_data): '''重写create方法实现,将密码加密后保存''' # 将密码加密后保存 user = User.objects.create_user(**vali
1,在项目的utils目录中,创建 exception.py : from rest_framework.views import exception_handler from rest_framework.response import Response def custom_exception_handler(exc, context): response = exception_handler(exc, context) if response: deta