自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 180-爬虫3-自动操作浏览器工具selenium模块的使用

今日内容1 项目演示 -mkvirtualenv -p python3 gist -git clone xxx -pycharm打开 -确保python解释器3.6(如果是3.6以上,百度改源码) -修改配置文件连接数据库使用sqlite -创建一个超级用户,把别人密码全改成自己 -查看项目流程及代码 2 bs4模块,html解析,(解析json,使用json模块) -在浏览器中看到的数据,会比使用requests模块拿回来的数据

2021-01-21 15:52:16 241

原创 179-爬虫02-bs4模块介绍

昨日回顾1 爬虫基本原理 -爬虫协议:规定了哪些允许爬,哪些不允许(咱们一般没有关注) -模拟发送请求(http请求)----(反扒)----》获得数据----》解析清洗数据---->入库2 爬取视频网站(re),request---get请求 -请求头中: -浏览器类型 -refer -cookie -视频地址替换3 自动登录某网站 -requests发送post请求,data,json -拿到cookie,以后再发请求,携带c

2021-01-21 15:51:04 213

原创 178-requests模块的基本使用

昨日回顾1 上线(私有云,公有云)2 虚拟化:kvm,vmware,openstack,飞天(python写的,管理虚拟机),docker,k8s3 mysql,redis(rabbimq,mongodb,fastdfs):docekr----》拉起来就ok4 python环境(3.6)----》uwsgi(真实环境)----》虚拟环境5 uwsgi是一个符合wsgi协议的web服务器----》负责接收http请求--》转成字典,响应对象6 前端项目部署---》build---》css,html

2021-01-21 15:49:19 405

原创 177-路飞18-项目上线

上节回顾1 支付接口(post) -jwt认证+权限类:控制了必须登录 -自己写jwt认证:reutrun 两个值 -{courseid:[1,2],total_amount:100,subject:标题,pay_type:1} -课程id列表----》对象列表 -courseid=PrimaryKeyRelatedField(queryset=Course.objects.all(), many=True, write_only=True) -validate:

2021-01-19 20:45:19 171

原创 176-路飞17-付款和回调页面

昨日回顾1 支付宝支付: -商户号:营业执照(登录的沙箱环境的商家) -客户:我们客户 2 生成公钥和私钥:公钥配置到支付宝网站上----》支付宝公钥 -担心私钥不安全(不要把公钥私钥直接放在代码中,而是放在服务器上) -支付宝支付(官方没有sdk,只提供了api),我们用了第三方,担心有问题3 支付流程 -用户在前端提交支付---》后端要生成订单(未支付)---》生成支付宝付款链接---》返回前端---》get请求支付链接---》支付宝付款页面(扫描付款)-

2021-01-18 08:43:55 429 1

原创 175-路飞16-区间功能&搜索功能&支付宝支付

今日内容1 区间过滤# 方式一:自己写过滤类,配置到视图类的 filter_backends = [自己写的过滤类]# 方式二:借助django—fileter # 1 写一个类: from . import models from django_filters import filters class CourseFilterSet(FilterSet): # 区间过滤:field_name关联的Model字段;lookup_expr设置规则;gt是大于,

2021-01-15 08:51:31 370

原创 173/174-路飞14&15-课程详情接口/前台&区间过滤

今日内容1 课程详情接口,课程章节接口1 查询所有课程接口2 查询单个课程接口 -继续再查询所有接口上写 -再写一个视图类,单独写查询课程详情接口4 写课程章节接口,每个章节下有很多课程 Linux从入门到精通 第一章节:入门 1 安装环境 2 配置环境 3 放弃 第二章节:入土 1 哇肯恶搞 2 挖坑 P

2021-01-15 08:48:26 135

原创 172-路飞13-课程接口&课程页面

今日内容1 课程接口1 课程表设计(关联关系是字段和字段的关系,而不是表和表的关系) -课程分类表:跟课程一对多(一个课程分类下很多课程) -实战课表(一个课程有很多章节) -课程章节表(一个章节,有很多课时) -课时表 -老师表(一个老师,讲很多课程) 2 课程接口: -根据切图分析出需要返回的字段 -带过滤功能:按分类过滤,按价格,人气升序降序 -分页 2 课程页面<template>

2021-01-15 08:47:37 175

原创 171-路飞12-课程页面和课程数据表构建

昨日回顾1 celery: 分布式异步任务框架,独立的2 celery可以做的事 -异步任务: 提交任务-任务函数.delay()---消息中间件(redis/rabbitmq)---worker消费---结果存储(redis) -延迟任务:任务函数.apply_async(args=(),时间对象)---消息中间件(redis/rabbitmq)---worker消费---结果存储(redis) -定时任务:启动beat(负责提交定时任务)---消息中间件(redis/rabbitmq)---w

2021-01-15 08:47:00 210

原创 170-路飞11-分布式异步框架Celery的使用

昨日回顾1 redis的列表操作 lpush llen linsert lset lrem lpop lrange # 使用它,自定义增量迭代 blpop # 分布式 自定义增量迭代2 redis通用方法 -delete -exist -expire -rename -type 3 redis管道 -不支持事务,但是通过管道模拟实现 -批量的多个命令一次性执行 -pipline

2021-01-07 21:26:18 215 1

原创 169-路飞10-redis之列表操作&通用操作&管道操作

昨日回顾1 redis:内存数据库,key-value方式存储,有5大数据类型,存取速度快,通常用来做缓存数据库 -缓存数据库:放在mysql中的数据,在redis中缓存一份 -计数(网站访问量,文章阅读量...) -分布式 -游戏,歌曲,排行榜。。 -redis和memche比较:都是内存数据库,redis支持持久化,redis数据类型丰富 -redis为什么这么快? 10w qps(每秒查询率)---》6w作用 -纯内存 -i

2021-01-06 21:37:57 129

原创 168-路飞09-redis介绍

昨日回顾1 腾讯短信平台封装,配置信息不要写死,放到配置文件中,设置成常量2 发送短信验证码的接口 -get: -如何防止被盗用:1 频率限制,ip限制 2 集成第三方认证 -验证码保存到缓存中(原来session中)3 验证码登录接口 -post--->手机号和验证码--->验证码正确,手机号是注册用户--->签发token4 验证码+手机号+密码注册 -post--->注册用户,用户名设置成手机号5 注册功能前后端打通今日内容1 redis介

2021-01-05 19:51:41 103

原创 167-路飞08-短信验证接口&短信登录&短信注册

今日内容0 集成了腾讯短信(封装)1 短信验证码接口1 前端发送get请求,携带手机号,调用封装好的发送短信接口,完成发送短信,给用户返回提示信息2 路由:send_code 视图函数:SendCodeView3 如果有人恶意使用你的接口如何解决? -1 限制频率:手机号一分钟一次 -2 限制ip:一分钟一次 -3 发送验证码之前,先输入验证码(集成了极验滑动验证码)1.1 路由router.register('',views.SendCodeView,basena

2021-01-05 19:50:51 414

原创 166-路飞07-登录注册前端&多方式登录接口&短信验证码

昨日回顾https://gitee.com/liuqingzheng/luffycity.githttps://gitee.com/liuqingzheng/luffyapi.git 1 git操作 (其中架构,两个合作,gitee)2 git add .3 git commit -m '注释'4 fetch和pull -git fetch 相当于是从远程获取最新到本地,不会自动merge -git pull 相当于从远程获取最新版本并merge到本地 -在实际使用中,gi

2021-01-05 19:50:16 679

原创 165-路飞06-git冲突解决&登录注册接口和组件

上节回顾1 版本管理工具2 git init # 当前目录被管理起来3 git log # 查看版本管理日志4 git status # 绿色,红色5 git add 文件名 # 把文件提交到暂存区6 git commit -m '注释' # 把暂存区内容提交到版本库7 git reset --hard 版本号 # 回退到某个版本8 远程仓库(github,gitee(国内),gitlab(公司自己搭建),bitbucket)9 git remote # 查看远程仓库

2021-01-05 19:49:42 119

原创 164-路飞05-git的使用

昨日回顾1 首页轮播图接口 -写model类,写了一个基类 -abstract = True # 不在数据库生成 -写一个基类,model类继承写的这个基类,有一些方法 -model类实例化得到的对象,也会有这个基类的方法,给对象扩展出一些功能 -接口 -继承哪个视图类, -跟数据库打交道:GenericAPIView, -自动生成路由:ViewSetMixin -不想写get方法:ListModelMixin

2020-12-30 18:36:43 121

原创 163-路飞04-xadmin&轮播图接口&git的使用1

昨日回顾1 vue项目开发,单页面开发,新建一个组件,每个组件有三部分:templage,script,style2 页面组件,小组件 xx.html---->yy.html -页面组件----》页面组件3 vue-router实现页面组件跳转 -配置:(路径跟组件对应关系) { path: '/home', name: 'Home', component: Home } -js控制:th

2020-12-30 18:36:10 222

原创 162-路飞03跨域问题处理&头尾部组件&轮播图&git简介

昨日回顾1 前端配置 -cnpm install jquery --save # 依赖模块同步到pacakage.json中 -vue create 项目名字(eslint不使用,vuex,router,bable) -npm run serve -npm run build # 项目上线,执行,把dist文件夹部署,前端所有的代码 -每个组件都有三部分 -template -script -style2 后端配置 -全局异

2020-12-30 18:34:13 259

原创 161-路飞02前后端配置&user表&日志&跨域问题解决

昨日回顾1 软件开发规范2 pip换源 1、文件管理器文件路径地址栏敲:%APPDATA% 回车,快速进入 C:\Users\电脑用户\AppData\Roaming 文件夹中 2、新建 pip 文件夹并在文件夹中新建 pip.ini 配置文件 3、新增 pip.ini 配置文件内容 3 虚拟环境(以后再写新项目,直接用虚拟环境,尽量一个项目一个虚拟环境) 1 配置 -windows下 -pip3 install virtualenv # 虚拟

2020-12-30 18:33:49 1722

原创 160-路飞01pip换源&虚拟环境&目录变更&数据库配置

上节回顾1 vue介绍 1 vue-js框架,渐进式框架 2 双向数据绑定,组件化开发(js,css,html),单页面开发(index.html)(vue-router) 3 快速使用(1.x 2.x)2 vue基础 1 插值{{js变量/语法}} 2 指令 v-xx v-html(html的字符串转成标签 处理了xss攻击,django中处理xss攻击的原理 v-show,v-text,v-if 3 事件指令 v-on:@click 缩写成@click 4 属性指令 v

2020-12-30 18:31:52 1818

原创 152-jwt的介绍及使用

昨日回顾1 分页功能 -三个类:普通分页,偏移分页,游标分页 -每个类中都有几个属性:查询的字段,每页显示的条数,每页最多显示的条数,游标分页中有个排序 -定义一个类,继承上面3个其中一个,重写字段 -继承了APIView:实例化得到分页对象,把要分页的数据传入,返回分页后的数据,序列化,可以按照自己定制的规则返回,也可也使用page.get_paginated_response(ser.data) -如果继承了ListModelMixin和GenericAPIView,

2020-12-29 09:49:56 156

原创 159-vue05-生命周期钩子,自定义组件,过滤器和vue工程化

昨日回顾1 局部组件 -全局组件,局部组件2 组件编写方式与Vue实例的区别 -数据不共享 -组件中的data必须是个函数3 组件通信之父子通信 -在组件上加一个属性 mytext='值' :mytext='js变量/代码' -props: ['mytext',] -属性验证props: {mytext:String}5 组件通信之子传父 -通过事件 -在子组件中绑定事件(给按钮绑定事件,在函数中执行:this.$emit('myevent',100,th

2020-12-21 16:53:27 154

原创 158-vue04-组件&组件间通信&插槽

昨日回顾1 购物车案例2 v-model之lazy,number,trim -lazy:input框的数据绑定等失去焦点以后再变化 -number:input框中333dsda,变成333 -trim:input去前后空格3 与后端交互 -jq的ajax -fetche -axios:get,put,post,delete..(带头,带数据。。。) -跨域问题(如何处理)4 与后端交互之fetche5 与后端交互之axios6 计算属性之首字母大写 -函数

2020-12-17 21:53:10 113

原创 157-vue03-fetch&axios向后端发送请求,计算属性和虚拟dom

昨日回顾0 style和class -数据绑定 :属性名='js变量/js语法' -class:三目运算符、数组、对象{red:true} -style:三目运算符、数组[{background:'red'},]、对象{background:'red'}1 条件控制 v-if(v-show) v-else-if='js变量' v-else3 列表渲染 v-for='data in 4'4 数组的检测与更新 数组/对象数据变化以后,页面没有变化,Vue.set(对象,位置/key,va

2020-12-17 15:32:08 165

原创 156-vue02-条件渲染 事件处理和表单控制

昨日回顾1 vue:js框架,渐进式2 mvvm架构,数据双向绑定(有些小坑),组件化开发,单页面开发3 使用:cdn引入,下载下来导入,工程化(vue-cli创建vue工程),脚手架4 插值{{ 变量,js语法,三目 }}5 指令 v-xx指令,放在标签上的自定义属性 v-html v-text v-on:@click 缩写@click v-bind:属性名='属性值' 缩写 :属性名='属性值js变量' v-if:dom的删除和插入 v-show:样式

2020-12-15 21:32:40 110

原创 155-Vue01-初始Vue及其基本用法

今日内容0 前端形式1 html5,css3,js(es5,es6):写一个一个的页面->后端嵌入模版语法->后端渲染完->返回给前端2 ajax出现->后台发异步请求,render+ajax混合(bbs项目)3 单用ajax(加载数据,dom渲染页面):前后端分离的雏形4 agular:js框架,前端工程化,前端也是一个项目/工程,有些笨重,已弃用5 react,vue:当下最火的两个前端框架(vue国人用,react外国人用)6 移动开发(安卓,ios)+web(微

2020-12-14 16:21:29 121

原创 Linux06-文件权限

一 文件权限管理之基本权限1.1 基本权限介绍基本权限类型r:可读=》4w:可写=》2x:可执行=》1权限的归属属主:u属组:g其他人:o例如:[root@aliyun ~]# ls -l a.txt-rw-r--r-- 1 root root 1146 Jul 16 18:42 a.txt文件类型: -:文本文档d:目录 b:设备block c:字符设备 s:套接字文件 l:软链接权限硬链接个数属主属组 文件所占用的空间(以字节为单位) 文件

2020-11-26 23:14:52 322

原创 Linux05-权限管理&用户组管理

Day5 权限管理&用户组管理一 Linux用户介绍1、什么是用户?用户对硬件资源的操作都需要通过操作系统,比如用户要读取硬盘中的一份关键数据出于安全考虑,操作系统的开发者们都专门开发了安全机制,要使用操作系统必须事先输入正确的用户名与密码这便是用户的由来2、为何要有用户?或者说我们为何要哦创建用户?主要就是权限问题1、系统上的每一个进程,都需要一个特定的用户运行,一个用户拥有特定的权限,该用户运行的进程与用户权限一致2、通常在公司是使用普通用户管理服务器,因为root权限过大,容易

2020-11-24 23:23:28 317 1

原创 Linux04-文件高级管理

Linux基础day4 文件高级管理一、文本三剑客1.1sed命令 流式编辑器,主要擅长对文件的编辑操作,我们可以事先定制好编辑文件的指令,然后让sed自动完成对文件的整体编辑用法sed 选项 '定位+命令' 文件路径选项-n 取消默认输出-r 支持扩展正则元字符(由于尚未学习正则,所以此处暂作了解)-i 立即编辑文件定位行定位:1定位到第一行1,3代表从第1行到第3行不写定位代表定位所有行正则表达式定位:/cm/ 包含cm的行/^cm/ 以cm开头的行 /

2020-11-23 21:41:46 500

原创 Linux03-文件管理

Linux文件管理一、Linux与Windows目录结构对比1.1 Linux以单根的方式组织文件 所有目录和文件都是从/开始​ Windows是多根目录结构 C: D:盘都是目录起点1.2 Linux各目录用途​ /bin -> usr/bin # 普通用户使用的命令如ls、date​ /sbin -> usr/sbin # 管理员使用的命令​ /boot # 存放的启动相关的文件,例如kernel,grub(引导装载程序)​ /u

2020-11-23 20:13:04 119

原创 Linux02-初识shell之系统命令基础

一 shell介绍Shell 中文意思贝壳,寓意类似内核的壳。Shell是指一 种应用程序,这个应用程序提供了一个界面,用户通过 这个界面访问操作系统内核的服务,简而言之就是只要 能够操作应用程序的接口都能够称为SHELL。狭义的 shell指的是命令行方面的软件,广义的SHELL则包括图 形界面。Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语 言。所以说,shell可以指代两层意思:1、命令解释器python语言

2020-11-19 19:41:48 210

原创 154 RBAC&xadmin&django缓存和信号机制

昨日回顾1 基于jwt的多方式登录 -login -之前写的处理逻辑都是在视图类中 -这次把逻辑拿到序列化类中validate方法中,在视图函数中不用写逻辑,is_valide -重点:视图类和序列化类之间交互数据的桥梁 context={}2 自己定义用户表,登录手动签发token,自己定义的认证类 -认证通过,正常情况下查询得到当前登录用户(访问数据库),但是咱们出于效率的考虑没有查询数据,自己构造了一个User对象3 jwt中重要的 -几个函数: -pay

2020-11-17 20:54:44 169

原创 153 多方式登录签发token&单项/多项的增删查改

上节回顾1 jwt:重点(跟语言,框架无关) -json web token -cookie:客户端浏览器上的键值对,数据不安全 -session:服务端的键值对(内存,数据库,redis,文件),安全,对服务端压力大 -token:三段:头.荷载.签名 -header(公司信息,加密方式。。。) -payload(荷载,真正有用的数据部分,用户id,用户名字。。) -signature(签名,把头和荷载部分通过加密算法加密---》得到一

2020-11-16 22:25:37 349

原创 151 drf分页器,全局异常,封装Response对象和生成接口文档

昨日回顾1 编写登录接口,图书5大接口,实现图书5大接口匿名用户一分钟访问3次,登录用户一分钟访问10次 -方式一: -写两个频率类(一个是根据ip限制,另一个根据userid) -方式二: -使用内置的,如果可以,就没问题就可以,如果又问题需要继承重写get_cache_key方法2 一个接口既可以不登录访问,又可以登录访问(匿名用户一分钟访问3次,登录用户一分钟访问10次) -认证类:额外写 class LoginAuth(BaseAuthenticati

2020-11-12 21:37:47 147

原创 150 drf 频率控制组件和过滤器组件

昨日回顾1 认证:判断用户是否登录2 登录功能:(一个大表拆成一对一的两个小表,其实叫垂直分表) -update_or_create()3 认证类 -写一个类,继承BaseAuthentication -重写authenticate -在authenticate内部做认证(request对象) -request中取出token -认证通过,返回None,或者有两个元素的元组(user,token) -认证失败:AuthenticationF

2020-11-12 19:38:35 107

原创 149 drf用户认证和权限

昨日回顾1 web应用模式开放模式2 API接口3 接口测试工具4 restful规范(重点)5 djangorestframework:drf,django的app,快速的写出符合restful规范的API接口6 drf的执行流程(APIView源码:request对象,认证,权限,频率,捕获全局异常,响应对象)7 序列化器(序列化,反序列化,数据校验):(重点******) -Serializer -字段自己写,字段类型,字段属性 -read_only wri

2020-11-10 21:25:25 186

原创 148 drf中的视图组件

今日内容1 两个视图基类APIView&GenericAPIView# Django REST framwork 提供的视图的主要作用: 控制序列化器的执行(检验、保存、转换数据) 控制数据库查询的执行# APIView:继承了原生Django的View# GenericAPIView:继承了APIView -queryset = models.Book.objects.all() -serializer_class = serializer.BookModelSe

2020-11-06 21:32:51 120

原创 147 模型类序列化组件

昨日回顾1 restful规范 -只有一个规范,规范了前后端交互的接口(api接口)格式 -10条 -https -请求地址中携带api标示 -多版本共存 -请求资源名词表示(一切皆资源) -请求方式表示操作资源的方式:get、psot、put、delete、patch -响应中带状态码 -响应中带错误信息 -响应中带链接地址 -响应数据遵循以下格式

2020-11-06 21:27:21 96

原创 146 restful规范和序列化组件的使用

昨日回顾1 web开发模式 -前后端混合开发 -前后端分离2 api接口3 postman使用(模拟发送http请求的工具)今日内容1 restful规范1 REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征性状态转移)2 是一种定义Web API接口的设计风格,尤其适用于前后端分离的应用模式中。3 与语言,平台无关,任何框架都可以写出符合restful规范的api接口4 规范:10条 -1 数据的安全保障:url链

2020-11-04 20:43:24 101

原创 145 BBS项目回顾 drf介绍

BBS项目回顾(bbs项目后期上传)1 web应用 -桌面应用(GUI),Tkinter,pyqt(qt平台) 单机版(文件,sqlite,mysql) -C/S架构:socket,Http -B/S架构:http协议2 Http协议:面试重点(请求头,响应头里有什么,http版本的区别)3 web框架:任何语言都会有自己web框架 -java中: -jdk(java开发工具包,java开发必须装),jre(java运行环境,java程序运行),jvm(java虚拟机)

2020-11-04 20:01:46 386

空空如也

空空如也

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

TA关注的人

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