- 博客(46)
- 收藏
- 关注
原创 drf学习第四天
drf学习第四天今天咱们说一下视图先创建个应用这次我们使用drf自带的response访问接口query_params打印的是一个空,为什么啊,因为我们没有携带任何的查询参数,我们在url上写上一些试试多选参数在浏览器上访问一下,返回的是一个接口视图,这是drf给我们提供的,因为它里面有一个方法,如果是浏览器访问我就给你返回视图,如果不是通过浏览器访问我就给你返回纯json数据,也可以通过/?format=json返回纯json数据接下来写post请求刚才get请求是获取所有数据,现在设置获取单条数据更新数
2021-08-01 13:53:46 509
原创 drf学习第三天
drf第三天我们今天再加一个字段校验访问接口发送post请求,name字段不是以a开头的就通过不了验证也可以写一个局部钩子函数,局部钩子函数执行时间是在参数校验之后接下来写一下全局钩子,全局钩子函数触发时间是在所有字段和局部钩子校验完成之后触发我们今天再加一个字段校验访问接口发送post请求,name字段不是以a开头的就通过不了验证也可以写一个局部钩子函数,局部钩子函数执行时间是在参数校验之后接下来写一下全局钩子,全局钩子函数触发时间是在所有字段和局部钩子校验完成之后触发...
2021-07-23 12:14:43 272
原创 drf学习第二天
drf学习第二天drf装好了,我们去settings里配置一下先创建一个应用app01把app01添加到应用中在models.py里写上模型类执行数据库同步指令接下来我们创建一个超级用户在app01/admin.py里注册一下我们的模型,然后重新运行项目后台系统页面刷新一下出现了我们创建的表发现可以手动创建用户信息添加完成发现展示的是一个学生对象,怎么样让它显示学生名称啊,加一个函数__str__只有学生姓名,我想展示多条数据怎么办看到效果了吧也可以加一个批量管理功能接下来把数据库改成mysql的先去mys
2021-07-21 02:09:55 426 1
原创 drf学习第一天
drf学习第一天创建虚拟环境drf01切换到虚拟环境下,然后安装一下drf在桌面上新建一个文件夹,并创建一个django项目指定好了之后的路径发现除了一些基础功能的模块,还有我们自己装的drf模块django模块在drf安装过程中自动给我们安装了,我们不用3.x版本的,我们使用2.2版本开发给它卸载了安装django2.2版本创建虚拟环境drf01其实虚拟环境就是一个文件夹,在/home/moluo(用户名)/.virtualenvs文件夹下可以找到我们创建的虚拟环境虚拟环境解释器在bin文件夹下
2021-07-20 00:53:41 188 1
原创 路飞项目第五天
路飞项目第五天今天我们来做注册在index里引一下路径获取验证码按钮也做一下今天我们来做注册先在components文件夹下创建一个组件RegisterRegister代码<template> <div class="box"> <img src="../../static/image/Loginbg.3377d0c.jpg" alt=""> <div class="register"> <div class="register
2021-07-17 18:26:53 938 11
原创 路飞项目第四天
路飞项目第四天昨天的项目还有一个bug,如果用户在登录成功之后又去登录页面登录,在勾选记住我或者不勾选的时候,对应的token是不是要给他删掉在users/utils里写上如下代码,支持多条件登录再去dev里引用一下我们写好的配置然后我们在首页再做一个退出按钮,用户点击退出可以退出登录昨天的项目还有一个bug,如果用户在登录成功之后又去登录页面登录,在勾选记住我或者不勾选的时候,对应的token是不是要给他删掉在users/utils里写上如下代码,支持多条件登录def jwt_response_p
2021-07-15 14:02:36 111
原创 路飞项目第三天
路飞项目第三天安装JWTdev里配置一下JWTDjango REST framework JWT提供了登录获取token的视图,可以直接使用,在users/urls里配置一下路由安装JWTpip install djangorestframework-jwt -i https://mirrors.aliyun.com/pypi/simple/dev里配置一下JWTREST_FRAMEWORK = { # 异常处理 'EXCEPTION_HANDLER': 'luffyapi.uti
2021-07-13 09:23:33 77
原创 路飞项目第二天
今日任务导航栏组件功能和轮播图组件功能前后端都给它调通xadmin上传数据是依据pillow模块处理的,所有需要安装pillow模块,在后端安装一下在dev里配置一下上传文件相关配置,STATICFILES_DIRS先注释一下,以后再弄在总路由中新增代码,这是咱们图片文件的访问路径注册home子应用,在apps目录下创建在dev里添加一下应用,还有drf框架的注册新建分支进行独立开发在项目主目录下创建uploads文件夹用于存放上传的文件创建轮播图的模型,在home/models.py执行数据迁移创建序列化
2021-07-11 13:35:13 140
原创 路飞项目第一天
路飞第一天创建项目调整目录创建代码版本配置用户名和邮箱推送代码修改项目配置文件目录把manage.py文件设置成项目启动文件配置.gitignore文件过滤垃圾文件日志配置异常处理创建数据库配置数据库连接创建虚拟环境给虚拟环境指定解释器创建django环境执行数据库同步指令搭建前端项目修改一下vue访问路径创建Home组件,在components文件夹下创建,写上div标签和h1标签指定vue项目启动文件运行项目把settings内容作为vue属性,以后就可以用this指向在static文件夹下创建css文
2021-07-09 13:17:41 243
原创 Python30期第四十天课程总结
Python30期第四十天课程总结sql语句优化索引sql语句优化1.mysql 执行流程 客户端: 发送连接请求,然后发送增删改查sql语句进行执行 服务端: 1.连接层:提供和客户端连接的服务,在tcp协议下, 提供多线程并发的技术,让多个用户登录到mysql中. show processlist; 查看所有登录到mysql的用户进程 2.服务器: 提供了各种接口(增删改查..)分析器组件会解析用户的sql语句 如果发现sql语句执行效率较低,会提交给优化器组件进行优化,然
2020-06-23 22:39:37 137
原创 Python30期第三十八天课程总结
Python30期第三十八天课程总结python 操作mysqlsql 注入攻击python 操作mysql 增删改查导出数据库python 操作mysql1.基本语法 (1) 创建连接 host user password database 这四个参数必须写 (2) 创建游标对象,该对象可以进行增删改查操作 (3) 执行sql语句 (4) 获取数据 (5) 释放游标对象 (6) 关闭连接2.python 操作事务处理 必须通过commit提交数据,才会真正的更新数据,否则ro
2020-06-21 10:57:04 125
原创 Python30期第三十七天课程总结
Python30期第三十七天课程总结where 条件的使用group by 子句多表查询子查询带EXISTS关键字的子查询子查询总结补充where 条件的使用1.功能: 对表中的数据进行筛选和过滤2.语法: 1.判断的符号: = > >= < <= != <> 不等于 2.拼接条件的关键字 and or not 3.查询的区间范围值 between between 小值 and 大值 [小值,大值] 查询两者之间这个范围内所有数据 4.查询具体某
2020-06-18 23:40:34 137
原创 Python30期第三十六天课程总结
Python30期第三十六天课程总结数据类型 -时间约束联合唯一约束存储引擎char varchar(补充)数据类型 -时间1. (1)date YYYY-MM-DD 年月日 (结婚纪念日,节假日) (2)time HH:MM:SS 时分秒 (体育竞赛) (3)year YYYY 年份值 (历史,1882年娃哈哈矿泉水,红酒) (4)datetime YYYY-MM-DD HH:MM:SS 年月日 时分秒 (登录时间,下单时间) (4)timestamp YYY
2020-06-17 22:48:58 123
原创 Python30期第三十五天课程总结
Python30期第三十五天课程总结mysql授权操作mysql增删改查mysql数据类型mysql授权操作1.命令可以用tab来补全2.登录完整语法: mysql -u用户名 -p密码 -h地址ip3.登录到本地mysql 默认用户root 是最高权限账户 (1) 登录到本地mysql 默认用户root 是最高权限账户 mysql -uroot -p localhost => 127.0.0.1 本地ip地址 (2) 退出mysql \q 或者 exit (3
2020-06-16 23:55:59 121
原创 Python30期第三十三天课程总结
Python30期第三十三天课程总结死锁,互斥锁,递归锁事件 Event线程队列进程池和线程池回调函数协程协程的例子死锁,互斥锁,递归锁1.死锁: 只上锁不解锁是死锁.2.递归锁专门用来解决死锁现象, 临时用于快速解决项目因死锁问题不能正常运行的场景 用来处理异常死锁的 3.尽量使用一把锁解决问题,不要互相嵌套,否则容易死锁事件 Event1.关键字wait 动态加阻塞clear 将阻塞事件的值改成Falseset 将阻塞事件的值改成Trueis_set 获取
2020-06-14 18:43:05 107
原创 Python30期第三十二天课程总结
Python30期第三十二天课程总结Manager线程用类定义线程守护线程Lock 保证线程数据安全Manager1.概念:(list列表 , dict字典) 进程之间的共享数据(列表或者字典等)2.使用with 语法简化上锁解锁操作 with lock: data[0] += 1线程1.区别: 进程: 资源分配最小单位 线程: cpu执行程序的最小单位 2.一份进程资源中可以包含多个线程3.并发多线程和多进程 , 谁的速度更快? 多线程!4.多线程 共享同一份进程资源用
2020-06-11 22:57:43 127
原创 Python30期第三十一天课程总结
Python30期第三十一天课程总结锁 lockSemaphore事件 (Event)进程队列Queue生产者和消费者模型JoinableQueue锁 lock1.含义:上锁和解锁是一对,只上锁不解锁会发生死锁现象(程序发生阻塞,下面的代码不执行了) 互斥锁: 互斥锁是进程之间的互相排斥,谁抢到了资源谁就先使用,后抢到资源的后使用. 2.lock的基本语法# 创建一把锁lock = Lock()# 上锁lock.acquire()# 执行操作# 解锁lock.
2020-06-10 23:31:50 120
原创 Python30期第三十天课程总结
Python30期第三十天课程总结进程join使用守护进程进程1.进程使用的基本语法 process 创建子进程,返回进程的对象p, target指定要执行的任务 args指定传递的参数,args的类型是元组,多个参数之间用逗号隔开2.创建带有参数的进程3.进程之间的数据隔离4.多个进程可以异步并发,子父进程之间的关系; (1)程序在异步并发任务时,因为cpu调度策略问题,不一定先执行谁或者后执行谁, 整体而言,主进程速度快于子进程,cpu遇到阻
2020-06-09 19:23:38 131
原创 Python30期第二十九天课程总结
Python30期第二十九天课程总结文件校验服务器合法性校验文件校验1.基本用法 (1)创建一个md5算法的对象 (2)把要加密的字符串通过update更新到hs对象中运算 (3)获取32位16进制的字符串 2.加盐 (加key => Xboy_ 加一个关键字配合原字符串,让密码更加复杂,不容易破解)3.动态加盐4.sha算法 sha 算出来的十六进制的串是40位 加密稍慢 , 安全性稍高 md5 算出来的十六进制的串是32位 加密速度快,安全性一般 5.hm
2020-06-08 21:47:51 233
原创 Python30期第二十八天课程总结
Python30期第二十八天课程总结tcp基本语法tcp循环发消息udp基本语法黏包struct的使用总结tcp基本语法1.客户端 (1)创建一个socket对象 (2)与服务器进行连接 (3)发送数据 (二进制的字节流) (4)关闭连接 2.socket 服务器 (1)创建socket对象 (2)绑定对应的ip和端口(注册网络,让其他主机能够找到) (3)开启监听 (4)建立三次握手 (5)收发数据(recv里面的参数单位是字节,代表一次最多接受多少数据) (6)四次挥手 (
2020-06-07 20:57:37 131
原创 Python30期第二十七天课程总结
Python30期第二十七天课程总结网络开发的两大架构网络的概念osi 网络七层模型交换机与路由器TCP/UDP协议网络开发的两大架构1.c/s: 是具体的一个软件,比如qq,微信,腾讯会议,lol,wow,dnf,cf,王者荣耀2.b/s: 通过输入网址,访问对方的服务器,对方的服务器响应请求之后, 把对应的数据给你返回,就可以在您的浏览器看到了3.未来更多向b/s发展,像微信小程序,支付宝小程序. (1) 省去复杂漫长的下载安装环节,节省收集或者电脑的硬
2020-06-04 21:16:54 207
原创 Python30期第二十六天课程总结
Python30期第二十六天课程总结认识异常处理异常处理的基本语法主动抛异常 raise认识异常处理1.IndexError 索引超出序列的范围2.KeyError 字典中查找一个不存在的关键字3.NameError 尝试访问一个不存在的变量4.IndentationError 缩进错误5.AttributeError 尝试访问未知的对象属性s6.StopIteration 迭代器没有更多的值7.Assertion
2020-06-03 21:53:39 221
原创 Python30期第二十四天课程总结
Python30期第二十四天课程总结装饰器面向对象中的方法property反射 (针对于类对象,模块)装饰器1.装饰器: 为原函数扩展新功能,用新功能去替代旧功能 作用 : 在不改变原有代码的基础上,实现功能上的扩展 符号 : @(语法糖)2.@符号作用: (1) 可以自动把@符号下面的函数当成参数传递给装饰器 (2) 把新函数进行返回,让新函数去替换旧函数,以实现功能的扩展. # func = newfunc <=> func() = newfunc()
2020-06-01 21:56:26 188
原创 Python30期第二十三天课程总结
Python30期第二十三天课程总结魔术方法__del__ 魔术方法(析构方法)__str__ 魔术方法__repr__ 魔术方法__call__ 魔术方法__bool__魔术方法__add__ 魔术方法 (与之相关的__radd__ 反向加法)__len__ 魔术方法与类相关的魔术属性魔术方法del 魔术方法(析构方法)1.触发时机:当对象被内存回收的时候自动触发[1.页面执行完毕回收所有变量 2.所有对象被del的时候] 功能:对象使用完毕后资源回收 参数:一个self接受对象 返回
2020-05-31 20:35:16 161
原创 Python30期第二十二天课程总结
Python30期第二十二天课程总结多态__new__ 魔术方法单态(例)模式连贯操作多态1.特点:不同的子类对象,调用相同的父类方法,产生了不同的执行结果2.关键字:继承 改写new 魔术方法1.触发时机:实例化类生成对象的时候触发(触发时机在__init__之前) 功能:控制对象的创建过程 参数:至少一个cls接受当前的类,其他根据情况决定 返回值:通常返回对象或None2.__new__ 用来创建对象 __init__ 用来初始化对象(前提的有对象) 先创建对象,
2020-05-28 22:49:28 114
原创 Python30期第二十一天课程总结
Python30期第二十一天课程总结继承多继承菱形继承继承1.继承的定义:一个类除了自身所拥有的属性方法之外,还获取了另外一个类的成员属性和方法2.一个类继承另外一个类,那么该类就是子类(衍生类),被继承的这个类叫做父类(基类,超类)3.继承: (1) 单继承 (2) 多继承 4.python所有的类都默认继承父类 object5.单继承: (1) 子父继承之后,子类可以调用父类所有的公有成员 (2) 子父继承之后,子类不可以调用父类的私有成员
2020-05-27 17:59:05 101
原创 Python30期第二十天课程总结
Python30期第二十天课程总结面向对象oop - 封装类的相关操作__init__魔术方法(构造方法)面向对象oop - 封装1.类中封装: 成员属性 成员方法 2.封装等级: 1.公有 : 公有成员既能够在类外调用,也可在类内调用 2.私有 : 私有成员不能够在类外调用,可以在类内调用3.调用语法: 对象.属性 对象.方法 4.类中的绑定方法 (方法在类的内部) (1) 绑定到对象 (对象调用方法时
2020-05-26 18:21:17 137
原创 Python30期第十九天课程总结
Python30期第十九天课程总结正则计算器正则函数oop 面向对象程序开发正则计算器1.处理符号2.计算表达式3.操作表达式4.移除括号5.main函数当中不写逻辑,只调用相关的功能正则函数1.search 通过正则匹配出第一个对象返回,通过group取出对象中的值2.match 验证用户输入内容 (了解)3.split 切割4.sub 替换 (正则表达式,替换的字符串,原字符串,[可选的替换次数])5.subn 替换 与sub 用法一样,区别在
2020-05-25 22:04:28 132
原创 Python30期第十八天课程总结
Python30期第十八天课程总结正则表达式正则表达式 匹配分组正则表达式 命名分组正则表达式#开头打印import re引入正则表达式#匹配单个字符 lst = re.findall(正则表达式,要匹配的字符串) 返回列表,按照正则表达式匹配到的内容都扔到列表里1.预定义字符集 (1)\d 匹配数字 (2)\D 匹配非数字 (3)\w 匹配字母或数字或下划线 (正则函数中,支持中文的匹配) (4)\W 匹配非字母或数字或下划线
2020-05-25 00:46:11 144
原创 Python30期第十七天课程总结
Python30期第十七天课程总结计算一个文件夹里面所有的文件的大小zipfile 后缀是ziptarfile .tar | .tar.gz | .tar.bz2计算一个文件夹里面所有的文件的大小1.计算文件大小size = 0for i in lst: pathnew = os.path.join(pathvar,i) if os.path.isfile(pathnew): print(i,"[文件]") size += os.path.getsize(
2020-05-21 23:57:39 274
原创 Python30期第十六天课程总结
Python30期第十六天课程总结time 时间模块os模块os 与 shutilos模块shutil模块os.path 路径模块is系列获取时间系列time 时间模块1.time() 获取本地时间戳2.localtime() 获取本地时间元组 (参数是时间戳,默认当前)3.mktime() 通过时间元组获取时间戳 (参数是时间元组)4.ctime() 获取本地时间字符串 (参数是时间戳,默认当前)5.asctime() 通过时间元
2020-05-20 22:28:33 101
原创 Python30期第十五天课程总结
Python30期第十五天课程总结内置方法序列化模块 picklejsonjson 和 pickle总结time内置方法1.abs 绝对值函数2.round 四舍五入 (n.5 n为偶数则舍去 n.5 n为奇数,则进一!)3.sum 计算一个序列得和4.max 获取一个序列里边的最大值5.sorted 找出最小值和最大值6.min 获取一个序列里边的最小值7.pow 计算某个数值的x次方8.range 产生指定范围数据的可迭代对象9.bin 将10
2020-05-19 22:40:08 125
原创 Python30期第十四天课程总结
Python30期第十四天课程总结递归函数尾递归随机模块 random递归函数1.自己调用自己的函数是递归函数2.一去一回叫做递归3.递归函数有回的过程,有两种情况可以触发: (1) 当最后一层函数全部执行结束的时候,有触底反弹的过程(回马枪),回到上层函数空间的调用处 (2) 遇到return 返回值,直接返回上层空间的调用处 4.函数在运行的时候,需要内存开辟空间才可以,这个空间叫做栈帧空间5.递归: (1)去的过程就是不停的开辟栈帧空间,在回的时候,就是在不停的释放栈
2020-05-18 22:51:58 228
原创 Python30期第十三天课程总结
Python30期第十三天课程总结推导式字典推导式生成器生成器函数总结推导式1.推导式特点:用一行循环判断遍历出一系列数据的方式2.推导式在使用时,只能用for循环和判断,而且判断是能是单项判断3.练习:将列表中的字符变成小写lst = ["ADDD","dddDD","DDaa","sss"]常规写法:lst_new = []for i in lst: res= i.lower() lst_new.append(res)print(lst_new)推导式写法:ls
2020-05-17 22:23:56 137
原创 Python30期第十二天课程总结
Python30期第十二天课程总结迭代器高阶函数mapfilterreducesorted迭代器1.能被next调用,并不断返回下一个值得对象,叫做迭代器 (迭代器是对象)2.概念:迭代器指的是迭代取值的工具,迭代是一个重复的过程,每次重复都是基于上一次的结果而继续,单纯的重复不是迭代3.特征:不依赖索引,通过next指针迭代所有数据,一次只取一个,可以大大节省空间,迭代无限量的数据4.如果成员中含有__iter__这个方法,就是可迭代对象5.for 循环遍历数据的底层实现就是利用了迭代
2020-05-14 20:42:07 106
原创 Python30期第十一天课程总结
Python30期第十一天课程总结locals 和 globals函数的嵌套nonlocal 关键字 用来修改[局部变量]闭包函数闭包的特点和意义匿名函数 (lambda 表达式)locals 和 globals1.locals 获取当前作用域中的所有内容 (1)locals 如果在函数外,调用locals(),获取的是打印之前的所有变量,返回字典,全局空间作用域 (2)locals 如果在函数内,调用locals(),获取的是调用之前的所有变量,返回字典
2020-05-13 22:48:09 131
原创 Python30期第十天课程总结
Python30期第十天课程总结区分 默认形参 和 关键字实参收集参数命名关键字参数return 自定义返回值全局变量 和 局部变量函数名的使用区分 默认形参 和 关键字实参1.默认形参在函数的定义处2.关键字实参在函数的调用处收集参数1.普通收集参数: 在参数的前面加上一个*,代表的是普通收集参数. 作用:收集多余的没人要的普通实参,构成一个元组2.关键字收集参数: 在参数的前面加上两个*,代表的是关键字收集参数
2020-05-12 23:17:04 104
原创 Python30期第九天课程总结
Python30期第九天课程总结文件的扩展模式一 文件的扩展模式二.read seek tell 三个函数的使用三.如果内容是中文 seek移动时注意点四.with 语法 (可以省略掉close操作)文件的相关函数函数函数的参数文件的扩展模式一 文件的扩展模式# (utf-8编码格式下 默认一个中文三个字节 一个英文或符号 占用一个字节)#read() 功能: 读取字符的个数(里面的参数代表字符个数)#seek() 功能: 调整指针的位置(里面的参数代表字节个数)#tell() 功能: 当
2020-05-11 23:42:56 129
原创 Python30期第八天课程总结
Python30期第八天课程总结列表的相关函数深拷贝和浅拷贝字典相关函数集合的相关操作(交叉并补)文件操作1.文件的写入操作2.文件的读取操作3.字节流的转换4.存储字节流5.读取字节流列表的相关函数1.增 1.append 向列表的末尾添加新的元素 2.insert 在指定索引之前插入元素 3.extend 迭代追加所有元素2.删 1. pop 通过指定索引删除元素,若没有索引移除最后那个 (推荐) 2. remove 通过给予的值来删除,如
2020-05-10 23:39:01 354
原创 Python30期第七天课程总结
Python30期第七天课程总结字符串的相关操作列表相关操作字符串的相关操作 1.字符串的切片:(截取) 语法 => 字符串[::] 完整格式:[开始索引:结束索引:间隔值](1)[开始索引:] 从开始索引截取到字符串的最后(2)[:结束索引] 从开头截取到结束索引之前(结束索引-1)(3)[开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1)(4...
2020-05-08 00:41:43 148
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人