自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 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 23

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

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

2020-11-24 23:23:28 22

原创 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 25

原创 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 13

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

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

2020-11-19 19:41:48 26

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

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

2020-11-17 20:54:44 11

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

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

2020-11-16 22:25:37 49

原创 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 8

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

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

2020-11-12 19:38:35 12

原创 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 10

原创 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 47

原创 147 模型类序列化组件

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

2020-11-06 21:27:21 16

原创 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 28

原创 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 130

原创 143 auth模块

上节回顾0 中间件:概念很大,介于某两个东西之间 -服务器中间件 -数据库中间件 -消息队列中间件1 dango中间件(全局请求和响应的处理) -process_request:所有请求来了,都会走它(尽量加判断),如果返回HttpResponse对象,不会继续再往下走 -process_response:所有请求走,都会经过它,加入响应头,设置cookie/session, -process_view:process_request和路由匹配成功,视图函数执行之前 -process_ex

2020-10-26 21:30:15 21 2

原创 142 django csrf中间件和自定义中间件

昨日回顾1 django中的cookie的使用 -增 obj.set_cookie(k,v,max_age) -删 obj.delete_cookie(key) -查 request.COOKIE.get(key) -改 obj.set_cookie(k,v,max_age)2 django中session的使用(迁移数据库) -增 obj.session[key] = value -删 del request.session[key] -全部删除 request.session.flus

2020-10-24 16:31:02 15

原创 141 django中cookie和session的使用

昨日回顾1 form组件:写一个类继承Form,写字段2 做数据校验(一直用)3 模版渲染(混合开发中使用,前后端分离用不到)4 校验数据:form=MyForm(data=字典)5 字段参数:error_messages,widget,required,6 错误信息: error = form.errors.get('__all__')7 局部/全局钩子 -def clean_字段名(self): -校验通过返回该字段的数据部分 -校验失败抛出异常ValidationError

2020-10-22 21:45:32 9

原创 140 form自定错误和钩子,django中cookie的使用

昨日回顾1 分页器组件,django提供给咱么一个类,传入要分页的数据,每页有多少数据 -Paginator分页器对象:count,get_page,num_pages,page_range -Page对象:has_next,has_previous,next_page_number,previous_page_number,object_list 2 form 组件:可以做数据校验 -自己定义一个类,继承Form,在类里写字段 -name=form.CharField()

2020-10-21 21:28:05 64

原创 139 分页器和django中的form校验

昨日回顾1 ajax:异步的javascript的xml,同时可以发出很多ajax的请求,局部刷新2 本质就是使用javascript这门语言发送http请求,(异步),原生,jquery的ajax方法,axios3 如何使用(借助于jquery) # 默认编码方式是urlencoded $.ajax({ url:/books/?name=lqz, method:'post/get', data:{name:'lqz',age:19},

2020-10-20 21:07:49 16

原创 138 ajax介绍

昨日回顾1 路由匹配从上往下匹配,一旦匹配成功,就不再往下匹配 re_path(r'^$', book.index),2 反向解析 -用在模板中 -用在视图函数中 3 图片列表之作者显示(for循环中套if),for+empty的使用 <td> {% for author in book.authors.all %} {% if forloop.last %} {{ author.na

2020-10-19 21:24:10 24

原创 事务的ACID

事务提供一种机制将一个活动涉及的所有操作纳入到一个不可分割的执行单元,组成事务的所有操作只有在所有操作均能正常执行的情况下方能提交,只要其中任一操作执行失败,都将导致整个事务的回滚。简单地说,事务提供一种“ 要么什么都不做,要么做全套(All or Nothing)”机制。数据库事务的 ACID 属性事务是基于数据进行操作,需要保证事务的数据通常存储在数据库中,所以介绍到事务,就不得不介绍数据库事务的 ACID 特性。ACID 指数据库事务正确执行的四个基本特性的缩写,包含:原子性(Atomic.

2020-10-15 21:44:58 10

原创 136 模型的操作3

昨日回顾1 多表关联的表模型 - publisher = models.ForeignKey(to='Publisher', to_field='id', on_delete=models.CASCADE, null=True) -.ManyToManyField('Author') -.OneToOneField()2 on_delete -级联删除 on_delete=modesls.CASCADE -设置为空 on_delete=models.SET_NULL,null=True -设

2020-10-15 21:22:42 33

原创 135模型的操作 2

昨日回顾1 常用/非常用的字段和参数,元数据 -常用字段 -常用参数 -元信息: 表名,联合索引,联合唯一索引 2 admin的使用(快速的对表增删查改) -创建超级用户 -/admin/ -把表在admin.py中注册3 国际化 -中文,时区问题4 单表的新增,单表的删除,单表的修改 -新增 ·对象.save ·类名.object.create() -删除 ·Queryset.delete() ·对象.delete() 对象.save -修改 ·对象

2020-10-15 14:46:38 18

原创 134 django 模型的操作 1

昨日回顾1 自定义过滤器和标签 ·第一步:注册app ·第二步:在app下创建templatetags包(不能改名) ·第三步:在包下新建xx.py文件(名字自起) ·第四步:写代码 from django import template register = template.Library() @register.filter 过滤器 @register.simple_tag ·第五步:在模版中使用 {% load xx %} {{ a|过滤器名字:'b' }}

2020-10-13 17:06:07 21

原创 133 django模版文件的使用-2

内容回顾1 模版层,templates xx.html 每一个web框架,都应该支持渲染模版2 DTL 3 django中渲染模版的两种方式 -第一种:render(request,‘模版.html’,context={}) #本质:打开模版文件,字符串替换,return HttpResponse(‘替换完的字符串’) -第二种:手动做(页面静态化,伪静态) # 可以用于提高并发量和seo优化4 前后端交互的编码方式:urlencoded,form-data,json -request.

2020-10-12 21:27:17 28

原创 132 django模版文件的使用

昨日回顾1 视图层之请求对象 -request.method -GET['name']='xxx' (不能修改) -POST -is_ajax() -path -get_full_path() -FILES 字典 -META http请求中,大多数都是请求头 -body 请求体,二进制,传文件,取会抛异常 -request.COOKIES -request.session -request.user 2 视图层之响应对象 -本质都是HttpResponse()

2020-10-10 20:22:48 43

原创 131 视图层的cbv/fbv和文件上传

复习1 web应用 -通过浏览器访问的服务 -cs/bs -基于socket 2 http协议 -http协议版本,0.9 1.1 2.x 3.x 有什么异同 -请求头和响应头的key-value -请求协议 -请求首行:请求方式 地址 协议和版本 -请求头 -请求体 -响应协议 -响应首行:协议版本 状态码 状态 -响应头 -响应体:html css js -特点 -基于socket -基于请求响应 -无状态无连接 -url:统一资源定位符

2020-10-09 19:29:11 17

原创 130 path和自定义转化器

昨日回顾1 django orm链接mysql -安装pymysql -setting中配置 -django默认用的mysqldb,python3中不支持,在app的__init__.py中写两句话 -后续操作完全一样2 pycharm链接mysql,sqlite3 路由的基本使用 -url函数的四个参数4 路由分发 -127.0.0.1/app01/login -根路由url('^app01/',include('app01.url'))5 无名分组6 有名分组7 反向解析

2020-10-09 19:25:44 51

转载 HTTP请求的完全过程

HTTP请求的完全过程1.1 浏览器根据域名解析IP地址 浏览器根据访问的域名找到其IP地址。DNS查找过程如下:浏览器缓存:首先搜索浏览器自身的DNS缓存(缓存的时间比较短,大概只有1分钟,且只能容纳1000条缓存),看自身的缓存中是否是有域名对应的条目,而且没有过期,如果有且没有过期则解析到此结束。系统缓存:如果浏览器自身的缓存里面没有找到对应的条目,那么浏览器会搜索操作系统自身的DNS缓存,如果找到且没有过期则停止搜索解析到此结束。路由器缓存:如果系统缓存也没有找到,则会向路由器发送查

2020-09-29 20:09:05 20

原创 129 Django数据库链接, 路由分发,反向解析和名称空间

昨日回顾1 MTV和MVC -MVC:model数据库操作,view视图,controler控制器 -MTV:model数据库相关操作,template视图模版文件,views视图函数2 Django的请求生命周期 web服务器->http拆成字典->调起可调用对象(django,flask,tornodo)->路由匹配->执行视图函数(数据库拿数据,模版文件拿模版,渲染)->生成html页面->返回3虚拟环境 -作用:隔离项目 -go mod -jav

2020-09-29 19:42:05 29

原创 128 Django目录解释和MTV架构,注册功能实现

昨日回顾1 django目录介绍 -urls 路由和视图函数的映射关系 -models 视图函数 -models 数据库相关操作 -settings 配置文件2 app是什么? -项目中独立的功能,通常做成一个app -python3 manage.py startapp app013 django项目的启动方式 -命令行:python manage.py runserver 127.0.0.1:8080 -pycharm4 配置文件 -是否调试模式:开发阶段都是true,上线都是

2020-09-28 19:07:22 73

原创 127 转载: jQuery

前端之jQuery_一切随心走的博客-CSDN博客 前端之jQuery ...

2020-09-27 19:45:26 15

原创 126 Django介绍和简单实现

1 django目录介绍项目名: -app名字: -migrations 数据库变更相关记录(不用删也不用改) -admin.py 后台管理(创建项目如果没有选,就没有) -apps.py app的相关配置(不用管) -models.py* 数据库相关(重点) -tests.py 测试相关(不用管) -views.py* 视图函数(重点) -项目名同名目录:(项目总体配置相关,配置文件,路由) -setting.py 很重要,整个项目

2020-09-27 19:33:59 35

转载 HTTP的请求头和响应头

Http协议定义了很多与服务器交互的方法,最基本的有4种,分别是GET、POST、PUT、DELETE。一个URL地址用于描述一个网络上的资源,而HTTP中的GET、POST、PUT、 DELETE就对应着对这个资源的查、改、增、删4个操作,我们最常见的就是GET和POST了。GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。一、HTTP头信息解读HTTP的头域包括通用头、请求头、响应头和实体头四个部分。每个头域由一个域名,冒号(:)和域值三部分组成。通用头部:是客户端和服务器都可以使

2020-09-27 15:01:34 38

转载 HTTP 状态码

HTTP状态码分类HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用。HTTP状态码共分为5种类型:HTTP状态码分类分类 分类描述1** 信息,服务器收到请求,需要请求者继续执行操作2** 成功,操作被成功接收并处理3** 重定向,需要进一步的操作以完成请求4** 客户端错误,请求包含语法错误或无法完成请求5** 服务器错误,服务器在处理请求的过程中发生了错误HTTP状态码列表状态码 状态码英文名称 中文描述100 Continue 继续

2020-09-25 21:26:05 8

原创 125 web开发和初识Django

今日内容1 web应用1.用浏览器访问的应用程序2.优点: -不需要客户端 -更新直接在服务端更新,客户端感知不到 -跨平台性好3.缺点: -强调浏览器的适用性 -用户的数据都保存在软件厂商那边2 bs、cs架构1.bs:浏览器---服务端(本质还是cs)2.cs:客户端---服务端3 手写一个web应用1.客户端是浏览器,服务器自己写(python)2.静态页面,动态页面 -静态页面:内容不会改变,每次看到的数据都一样 -动态页面:页面的数据会变化,每次访问

2020-09-25 20:47:10 43

原创 124 JS练习

1.弹出模态框点击弹出按钮,一个背景会覆盖全页(实际上通过display:none 实现)示例图:代码:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style> .box1{ position: absolute;

2020-09-24 21:32:43 21

原创 123 BOM和DOM

一 BOM操作1.1 介绍BOM:Browser Object Model,浏览器对象模型。BOM的结构图:从上图可以看出来:#1、DOM对象也是BOM的一部分#2、window对象是BOM的顶层(核心)对象需要注意的是#1、在调用window对象的方法和属性时,可以省略window,例如:window.document.location可以简写为document.location#2、全局变量也是windows对象的属性,全局的函数时window对象的方法 1.2 对象histor

2020-09-23 16:23:04 9

原创 122 JavaScript语法

一 JavaScript简介1、JavaScript起源https://www.cnblogs.com/linhaifeng/articles/9346219.html总结JavaScript用途:#javaScript一般用来编写客户端脚本,来为html页面添加交互行为,是前台语言,而不是后台语言(node.js除外)总结JavaScript的特点:#1、解释执行(浏览器就是解释器):事先不编译、逐行执行、无需进行严格的变量声明。#2、简单易用:可以使用任何文本编辑工具编写,只需要浏览器就可

2020-09-22 21:16:08 47

原创 121 CSS页面布局

一 网页布局方式#1、什么是网页布局方式布局可以理解为排版,我们所熟知的文本编辑类工具都有自己的排版方式,比如word,nodpad++等等而网页的布局方式指的就是浏览器这款工具是如何对网页中的元素进行排版的#2、网页布局/排版的三种方式2.1、标准流2.2、浮动流2.3、定位流二 标准流标准流的排版方式,又称为:文档流/普通流,所谓的文档流,指的是元素排版布局过程中,元素会自动从左往右,从上往下的流式排列。#1 浏览器默认的排版方式就是标准流排版方式#2 在CSS中将元素分为三类:分

2020-09-18 18:45:29 126

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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