自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 脏读,不可重复读和幻读实操

题目:将MySQL的隔离级别设置为读取未提交,做出脏读,不可重复读和幻读的效果。

2024-06-13 21:05:57 299

原创 多方式登陆

因为我们使用的是auth的user表,只能传用户名密码进行校验,但是正常项目使用手机号、邮箱+密码也能进行校验,包括有的还需要人脸进行校验,我们现在就需要自己定制登陆接口。首先需要扩写auth的user表,加入phone字段。如果之前已经迁移过auth的user表,只能删除数据库及删除迁移记录(很麻烦),所以在写项目时就要确定好要写的字段和表。

2024-05-06 21:29:01 114

原创 定制返回格式

因为登陆的接口不是我们写的,所以返回格式不符合我们的预期,下面就开始详细地展示如何定制返回格式。

2024-05-06 21:28:16 127

原创 simple-jwt配置文件

在我们上面看到的签发阶段登陆时,它返回给我们两个token,首先需要在django的settings 里面注册。这涉及到双token认证,想了解就去搜......因为从本质上来说它们都是django上的app.

2024-05-06 21:27:29 132

原创 simple-jwt使用

登录签发默认使用auth下的user表,想要写它之前,应该先考虑user表中需不需要添加其它字段,不然中途加字段会很麻烦的。在csdn里面找了一下解决方法就是不用自动生成路由,这样就可以顺利进行了,因为时间有点不够先不考虑是什么错误导致的了。我们做一个接口,要让它只有通过认证才能进入。

2024-05-06 21:26:33 413

原创 jwt介绍

jwt的全称是json-web-token,是一种前后端登录认证的方案。区别于之前学的cookie,session。

2024-04-24 15:27:37 386

原创 drf之分页

在查询所有中,后期我们需要用到分类,分类和排序、过滤并不冲突分页顾名思义,就是在一个页面,按照几条数据一页,然后一页一页分开,这样便于查看数据,也让页面显得不难看,也好用。分页的使用与排序过滤一样,需要先写一个类,继承分页类,定制类属性,然后在视图类中配置。前提,继承pagination有三种分页方式CursorPagination, LimitOffsetPagination, PageNumberPagination。但是用分页方式只能用一种。

2024-04-24 15:27:01 401

原创 drf之过滤

自定义过滤类,首先根据规范,创建一个过滤类的.py文件,创建一个类继承BaseFilterBackend,重写filter_queryset方法取出想要过滤的值然后将过滤的值做对比,返回出去。视图层进行调用。filterset_fields=[过滤对象]return Response('所有数据')在filter_backends中,它里面可以放多个过滤或排序,它会从左往右依次运行。

2024-04-24 15:26:07 388

原创 drf之排序

如果想要倒叙就在排序对象前加上负号就行。ordering=-排序对象。想要定制它的返回格式,就要重写这个接口,重写接口还想能排序就必须要有。排序必须是在查询所有的接口里使用的,那么该如何排序呢?ordering=排序对象 进行排序。首先先创建一个查询所有的接口。只要有这个就能生效。

2024-04-24 15:25:30 420

原创 drf之频率

频率控制与认证、权限一样,也是继承类,重写然后到视图层使用。频率控制顾名思义就是管理点击频率的,防止有人恶意攻击网站,当用户点击次数过高就是限制访问。

2024-04-24 15:24:55 408

原创 drf之权限

这是重写的权限类,首先当然是继承BasePermission,然后request.user.user_type取出对应的user_type值,因为我想让我写了一些接口只让超级管理员使用,所以我设定了超级管理员的user_type为3。我在视图层随便写了个接口,然后校验权限,注意⚠️:因为在上面认证里面我设置了全局配置,所以需要先登录才能进入,当然,也必须要登录,因为不登录它获取不到你的user_type的值,还有,记得加token。与认证一样,同样创建一个py文件,负责放校验权限的类。

2024-04-24 15:24:23 369

原创 drf之认证

然后重写认证类,先从用户发送的请求头中取出用户的token,然后与数据库中的token进行校验,判断是否登录,然后返回结果,在views.py中只需要导入认证类,输入。很简单,就是把drf里面的源码复制到自己的settings文件里,然后加上重写认证类的位置。前提条件已经准备好了,那就开始介绍我们的认证类:BaseAuthentication。在上面的视图及路由组件中,我们学会了更快地创建我们想要的接口和自动生成路由。根据规范,我们应先创建一个py文件,

2024-04-24 15:23:34 166

原创 路由的使用

如下,drf会自动帮你把post请求变成create。

2024-04-24 15:22:32 288

原创 自动生成路由

多了一个api-root。

2024-04-24 15:21:37 243

原创 视图集..

跟据前面的视图子类,我们可以想到,有没有一个类,只要继承了,这五种方法就可以全部用呢?

2024-04-24 15:20:58 365

原创 9个视图子类

但是相对于写试图扩展类的五个接口,其中写的方法也算是重复的,自己想要加东西也可以通过重写这个方法去加。

2024-04-24 15:19:58 280

原创 5个视图拓展类

当通过前面两个视图基类写五个接口时我们会发现,在写每个接口时我们都要写如下。

2024-04-24 15:19:21 391

原创 两个视图基类

继承GenericAPIView就是在继承APIView的基础上进行一层封装。

2024-04-24 15:18:37 231 1

原创 Response

REST framework提供了一个响应类Response,使用该类构造响应对象时,响应的具体数据内容会被转换(render渲染)成符合前端需求的类型。REST framework提供了Renderer 渲染器,用来根据请求头中的Accept(接收数据类型声明)来自动转换响应数据到对应格式。如果前端请求中未进行Accept声明,则会采用默认方式处理响应数据,我们可以通过配置来修改默认响应格式。可以在rest_framework.settings查找所有的drf默认配置项。

2024-04-24 15:17:37 292

原创 Request类的对象

request.data 返回解析之后的请求体数据。request.query_params与Django标准的request.GET相同,只是更换了更正确的名称而已。

2024-04-24 15:16:42 101 1

原创 多表序列化与反序列化

首先准备几张表,以图书为例,创建图书表,作者表,出版社表和第三张关系表。然后创建一个serializer.py文件,目的就是写类,继承serializer。仅序列化需要在与class Meta同级下额外添加字段,而class Meta相当于drf自动帮你写好了那些基本字段。在之前写序列化类,没有显示指明跟哪个表一一对应,ModelSerializer可以和表做一一对应关系。source是一个序列化器的字段选项,用于指定序列化器中字段的源。方法一:在表模型中写方法,然后在序列化类中做映射。

2024-04-22 15:01:04 279

原创 单表序列化与反序列化

在我们写APIView的五个接口时,做序列化的时候方法很笨,要写很多代码,这时,我妈可以借助drf提供的序列化类。

2024-04-22 14:57:52 342

原创 APIView

我们在学APIView之前,先做一个小练习:创建一个图书表,里面含有书名,价格及出版社名称,然后做出它的增删改查开放接口再用postman进行操作。首先创建Books表:然后创建路由,开放接口,做出它的增删改查。app01路由:admin路由:这样,关于这个表的增删改查就做好了。

2024-04-22 14:55:20 349

原创 API接口引入

在学完以上的django架构后,我们做了一个项目:BBS,这是一个前后端混合的项目。那么,什么叫前后端混合呢,我认为前后端混合就是前端和后端相结合的项目,彼此分不开。那么,我们现在就要学前后端分离了,它就是通过后端提供的API接口,来实施前后端分离。意思就是,我们后端只需要做出一个个API接口,通过和前端进行交互。这样的好处就是允许不同的软件系统进行交互。🙋‍♀️🌰:如果说我写了一个登录用的API,我们只需要开放接口,浏览器端、客户端都可以使用接口,这大大提高了开发的效率。

2024-04-22 14:52:17 287

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除