【测试开发】Python Web 框架---Django
文章平均质量分 65
半生繁华半世僧,一念放下,万般从容!
初遇我ㄖ寸の热情呢?
煎茶坐看梨门雨,情话是你,风景也是你
展开
-
【Python Web 框架】Django024---drf ---drf大回顾、频率类源码分析、深浅拷贝问题
1 jwt:json web token,前后端登录认证的方式,签发和认证2 签发和认证-源码3 基于自定义的用户表签发和认证token4 RBAC:基于角色的访问控制flask还要自己写后台管理系统-用户-角色-权限-用户和角色-角色和权限-用户和权限5 django:auth+admin,具有了rbac权限控制的后台管理系统6 simple-ui的使用,对admin的美化7 集成echars。...原创 2022-08-09 18:44:45 · 36 阅读 · 0 评论 -
【Python Web 框架】Django023---drf ---jwt内置签发方法修改返回格式、token认证的源码分析、RBAC介绍
使用当此请求的request对象,取出获取的页码数-通过页码数和每页显示多少条,具体的取出当前页码的数据代码:###########使用自己的用户表,签发tokenfrom rest_framework_jwt.settings import api_settings # 源码里面jwt_payload_handle = api_settings.JWT_PAYLOAD_HANDLER # 源码里面。...原创 2022-08-09 18:29:12 · 178 阅读 · 0 评论 -
【Python Web 框架】Django022---drf ---过滤、分页源码分析、继承APIview实现分页、JWT的认证机制
代码】【PythonWeb框架】Django022---drf---过滤、分页源码分析、继承APIview实现分页、JWT的认证机制。原创 2022-07-18 18:22:01 · 65 阅读 · 0 评论 -
【Python Web 框架】Django021---drf ---DRF的体系、认证、权限源码、自定义全局异常、coreapi
现在报错了之后,就直接这样了我们希望了,报错了之后,有一个同意的格式。比如内部错误,请联系管理员但是如果在每一个里面try的话,就太多了。所以有一个全局异常的写法一般会建一个文件,名字随便叫下面要去配置文件里面配置一下上面这个是在drf源码里面配置的,但是我们自己用的话,就需要在自己项目里面配置在试一下现在是正常的了,抛出这个异常,我们还是要管的。我们需要怎么用?可以给前端返回过去,也可以不返回,有可能是自己的数据取错了最重要的是要记录日志记日志的时候,最好详细一些。...原创 2022-07-18 18:12:30 · 63 阅读 · 0 评论 -
【Python Web 框架】Django020---drf ---频率限制类、过滤排序、分页功能(基本分页、偏移分页、游标分页)
今日内容频率限制汇总:过滤排序下面实现查询所有,带过滤功能第三方过滤类的使用自定义过滤类分页功能下面讲偏移分页下面讲游标分页原创 2022-07-05 17:11:22 · 50 阅读 · 0 评论 -
【Python Web 框架】Django019---drf ---drf的路由、actions的使用、drf之认证功能、认证类、权限类编写和使用
序列化类钩子函数执行位置的源码drf的请求Request类的对象drf的响应drf的视图类视图集今日内容drf的路由上面就是自动生成路由,现在继承的是SimpleRouter,下面继承DefaultRouter。两者有点区别router = DefaultRouter() # 生成的路由多一条,多一个根路径actions的使用视图类中的action(补充)drf之认证功能认证类的编写和使用原创 2022-07-05 16:54:14 · 135 阅读 · 0 评论 -
【Python Web 框架】Django018---drf ---序列化类源码分析、drf的请求与响应、视图类、视图集
序列化类源码分析、drf的请求与响应、视图类、视图集原创 2022-06-01 18:26:26 · 90 阅读 · 0 评论 -
【Python Web 框架】Django017---drf ---Serializer、序列化类的常用字段、SerializerMethodField、ModelSerializer、局部全局钩子
昨日内容回顾函数和方法什么是函数,什么是方法?方法:定义在类当中,有特定含义的,可以自动传值的叫方法函数:就是普通函数,有几个参数,就要传几个参数方法得看谁来调,如果是对象的方法,对象来调,就是方法。而类来调,就变成了普通函数方法有两种:绑定给类的方法:就是加一个@classmethod装饰器绑定给对象的方法:就是写在类中,不加任何装饰器的函数,就是绑定给对象的方法CBV源码分析上述,路由中其实就是:IndexView.as_view()执行完后,返回View类中的as_vi原创 2022-05-26 19:39:31 · 208 阅读 · 0 评论 -
【Python Web 框架】Django016---drf ---前后端开发模式、API接口、Django取不到request.POST值、restful规范、序列化、反序列化、drf的介绍和安装
前后端开发模式https://www.cnblogs.com/liuqingzheng/框架:就是别人帮我们写好了。我们只需要在固定的地方写业务的内容主要两种:前后端不分离(前后端混合开发模式)django请求生命周期:中间件 路由匹配 视图函数 数据库拿数据 到模板拿模板 渲染模板 直接返回把数据库的数据写到模板上,模板本上就是一个文件 ,把文件打开,把数据替换到文件上就是我们写的模板语法{{}},把变量内部替换上前后端分离浏览器向某一个地址发请求,拿回一个空的html页面,原创 2022-05-22 11:06:28 · 97 阅读 · 0 评论 -
【Python Web 框架】Django015---BBS ---发布评论、评论列表、回复的功能、后台添加文章页面搭建、实现富文本编辑框、防xss攻击
发布评论下面要给这个提交绑定一个点击事件,需要绑定一个类名评论的时候,需要知道给哪个文章提交的,和提交的内容下面写一个路由然后在写接口是这样的,没有登录的话,其实就看不到这个页面。登录的话才可以看到这个页面。那为啥后端还要验证?这里一定要验证,因为前端的验证是微乎其微的这个是登录的时候放进去的,所以才能取出来。现在这个session里面只有id和username,如果需要别的数据,比如用户的头像地址。登录的时候,加进去就行了我们可以尝试用一下事务,用不用没关系评论列表原创 2022-05-22 10:53:10 · 196 阅读 · 0 评论 -
【Python Web 框架】Django014---BBS ---开放对外访问的接口、文章详情页、文章点赞点踩
补充一个知识点开放对外访问的接口现在图片放在这里是可以正常用,正常访问的这里可以改一个路径现在想要访问这个图片是访问不到的,因为django项目起来之后,里面有很多文件,文件夹,默认情况下,是不允许访问的。这样不安全可以通过配置来访问的这样就可以访问了文章详情页特点:路径前段是站点的名称,后面是文章的id,就是通用文章的id找到文章页面还是39分,和site.html是一样的。可以继承一下;新建一个一个base页面,然后其他想要继承的页面把不同的地方改掉就是中间9份的地方是原创 2022-05-22 10:17:45 · 48 阅读 · 0 评论 -
【Python Web 框架】Django013---BBS ---首页文章功能完善、个人站点、个人站点左边的内容、侧边栏点击跳转
首页文章功能完善头像头像应该显示文章作者的头像,说白了就是通过文章查用户信息文章和用户是多对一,两者是通过站点联系起来的文章和站点是一对多、用户和站点是一对一。所以通过文章找站点、再找用户信息,就能找到头像了在models里面Article表里面,可以找到site(cate和Tag字段肯定不像)site和userinfo是一对一的关系写对的话,pycharm会给我们提示的发现没有生效,发现路径不对,现在是home下面的static应该是重根目录找要是不写的/的话原创 2022-05-22 10:08:28 · 53 阅读 · 0 评论 -
【Python Web 框架】Django012---BBS ---登录页面搭建、验证码的显示、首页导航的搭建、修改密码、首页页面搭建
登录验证码逻辑: 生成随机数之后,将随机数保存在服务端。待用户输入的时候,在验证和服务端是不是一致验证码的显示:login.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <script src="https://cdn.bootcdn.net/ajax/lib原创 2022-05-21 20:39:55 · 57 阅读 · 0 评论 -
【Python Web 框架】Django011---BBS ---扩展auth_user表、BBS数据表分析、注册页面的搭建
今日内容扩展auth_user表auth_user是框架默认帮我们创建的,里面的字段不一定是我们需要的。我们需要对它增加,删除。因为这个表的扩展性太差了auth_user表里面的字段都是由AbstractUser类里面决定的现在自己写一个类,继承它就可以对父类怎删改了前提:一旦表执行过迁移命令,就不能在扩展了 1、要想扩展auth_user表,必须继承AbstractUser 2、必须在settings.py中写一个配置,AUTH_USER_MODEL = "app01.U原创 2022-04-29 18:37:38 · 43 阅读 · 0 评论 -
【Python Web 框架】Django010---CBV添加装饰器、中间件、csrf跨站请求、auth模块
昨日内容回顾批量插数据只要是能不差库能解决的问题,就尽量不要查库models.Book.objects.bulk_create(book) # 只执行一次sql 相当于insert into values(),(),()分页:记住这几个参数: 1、当前页 ===> 前段传过来 2、总数量 ===> count出来 3、per_page_num ===> 10 4、总页数 = 总数量/per_page_numcookiecookie的由来原创 2022-04-29 18:33:59 · 54 阅读 · 0 评论 -
【Python Web 框架】Django009---批量插入数据、分页器的使用、django操作cookie、session、CBV添加装饰器
昨日内容回顾ajax实现页面不刷新计算结果d1 = 1 #input框中获取的值d2 = 2${".btn"}.click(function() { $.ajax({ #1.指定提交的路由地址 url:‘’, #不写的话,就是当前地址 #2.指定提交方式 type:“post”, #3.指定发送的数据 dataType: "json" data:{“d1”:d1,“d2”:d2原创 2022-04-29 18:23:21 · 78 阅读 · 0 评论 -
【Python Web 框架】Django008---ajax小案列、 ajax发送json格式的数据、ajax发送文件数据(重要)、ajax结合layer组件实现删除的二次确认
昨日回顾F与Q查询F查询 from django.db.models import F 在原来的基础上加上100: 原生SQL:update book set price = price + 100 where id =1; orm:res = models.Book.objects.update(price= F("price") + 100) 大F,就是拿原来字段的值 拼接字符串:Concat,valu res原创 2022-04-13 17:49:06 · 60 阅读 · 0 评论 -
【Python Web 框架】Django007---F与Q查询、django中如何开启事务、ORM中常用的字段或是方法 、choices参数、多对多的三种创建方式
昨日内容回顾基于双下划线的查询# 以年龄为例res = models.User.objects.filter(age__gt=35)1、年龄大于35的:age__gt=352、年龄小于35的:age__lt=353、年龄大于等于35的:age__gte=354、年龄小于等于35的:age__lte=355、age__in=[1,3,5] # age=1 or age=3 or age=5 (in走索引、not in不在索引)6、age__range=[18,40] # where原创 2022-03-30 16:13:13 · 78 阅读 · 0 评论 -
【Python Web 框架】Django006--- ORM语法:神奇的双下划线查询、一对多、多对多、增删改查、正反向、跨表查、聚合查询、分组查询
模型层(ORM语法):跟数据库打交道的单表查询(增删改查)常见的十几种查询方法神奇的双下划线查询多表操作外键字段的增删改查跨表查询(重点)子查询联表查询聚合查询分组查询F与Q查询神奇的双下划线查询先创建几张表models.py代码迁移数据库补充年龄添加作者信息再添加两本书查询1:年龄大于35岁的数据(__gt) # sql:select * from table where age >35;原创 2022-03-11 16:10:08 · 142 阅读 · 0 评论 -
【Python Web 框架】Django005--- 模板层(传值、过滤器、标签、继承、导入)及ORM操作
昨日内容回顾无名分组有名分组反向解析无名分组url(r"index/(\\d+)",views.index) 通过index/1匹配def index(request,x): pass有名分组url(r"index/(?P<year>\\d+)/(?P<mouth>\\d+)",views.index) 通过index/1匹配def index(request,year,mouth): pass反向解析通过一个方法。获取一个结果,原创 2022-03-11 16:11:52 · 573 阅读 · 0 评论 -
【Python Web 框架】Django004--- 无名分组有名分组、路由分发、JsonResponse对象、request对象的常用方法、FBV和CBV的书写、CBV的源码分析
昨日内容回顾1、往模本里面分配变量 每一种方式都是render的第三个参数。其实他的本质就是字典的数据格式 第一种方式: 在模板里面用的是key 第二种方式: locals() :局部名称空间,把函数里面所有的局部变量都以key,value的形式放在字典里面2、下面是数据的增删改查增 第一种添加数据的方式:写一行代码就可以了 res = models.User.objects.create(name=usern原创 2022-03-11 16:12:41 · 1395 阅读 · 0 评论 -
【Python Web 框架】Django003--- ORM数据的增删改查、django请求生命周期图、路由层相关
昨日内容回顾django中的三把斧返回字符串 1.return HttpResponse("ok)返回html文件,渲染模板文件 2.return render(request,"文件名")重定向 3. return redirect("https://www.baidu.com/") #外部的 return redirect("/home/user") #内部的这3个的本质都是HttpResponse对象。原创 2022-03-11 16:12:59 · 148 阅读 · 0 评论 -
【Python Web 框架】Django002--- Django三板斧、静态文件配置、request对象、ORM的增删改查
昨日内容回顾手写框架1.socket2.借助wsgiref模块 socket不用写了 make_server(127.0.0.1,8080,run) run(env,response) #env所有请求的数据 server_forever()3.根据功能的不同,划分了文件: 1.urls.py ==>书写路由(后缀)与函数的对应关系 2.views.py ==>处理数据、处理逻辑 3.templates ==>处理层,存储html文件 4.原创 2022-03-11 16:13:15 · 150 阅读 · 0 评论 -
【Python Web 框架】Django001--- Django框架的推导,及安装
两个内容:手写一个框架 由这个框架推导初django框架Django框架的安装手写一个框架我们学了前端,和数据库。怎么把结合起来?需要一个后端,py、java,php都可以前端 后端 数据库:这个就是mvc的三层,视图层、逻辑层、数据层在django里面叫mtv,其实t就是模板,就是视图,html。也是mvc。mvc是一个思想,不是新技术软件架构:c/s;b/s;我们现在用一个socket服务端来引入这个话题。服务端的底层还是socket,把用户请求过来的数据先拿过来。最原创 2022-03-11 16:13:25 · 884 阅读 · 0 评论