自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Simple子夜

记录学习过程,请多多支持~~

  • 博客(106)
  • 收藏
  • 关注

原创 解决Golang WriteHeader设置后,Content-Type失效的问题

通过分析上面两组代码可以发现,如果我们先执行了。

2023-12-28 17:33:51 691

原创 Golang 数据库操作

通过go-sql-driver/mysql操作MySQL数据库,不同数据库需要引入不同包Open:函数只是验证连接参数是否正确db.ping():测试是否能够正常连接数据库,返回`nil`表示可以全局定义`db`变量是为了连t接数据库成功之后任意地方都可以进行操作。

2023-10-24 11:11:31 465

原创 Django事务确保数据一致性

当处理的数据表存在关联性,我们需要确保关联数据之间的逻辑关系是否正确和完整B数据关联A,此时需要先创建A数据,再去创建B数据。创建B数据的同时还要进行逻辑处理(判断B数据有没有重复)如果B数据没有通过我们预设置的逻辑处理,A数据就要进行回滚B数据通过预设值的逻辑处理后,整个链路完整结束,数据是完整的以上4个环节,如果3个环节出现问题,那么我们就要回滚事务,不然则会出现数据不完整(意思就是B数据没有创建出来,但是A数据创建出来了)# 设置回滚点A_data = 创建A数据。

2023-09-19 10:48:15 493

原创 Go语言基础教程:变量、基本数据类型、输出、注释、运算符、if-else条件判断、函数

一、变量定义变量指定了某存储单元(Memory Location)的名称,该存储单元会存储特定类型的值。在 Go 中,有多种语法用于声明变量。1、变量声明方式:指定变量类型变量定义语法:var 变量名 变量类型 = 变量值变量声明方式:package mainimport "fmt"func main() { var age int // 声明并未赋值,int类型变量值默认为0 // 注意:Go语言中变量定义了必须使用,否则报错 fmt.Println(age)

2023-07-12 17:59:42 522

原创 Go语言教程,初识集简洁、性能与一体的语言

Go 即Golang,是Google公司2009年11月正式对外公开的一门编程语言。Go是静态强类型语言,是区别于解释型语言的编译型语言(静态:类型固定 强类型:不同类型不允许直接运算)。Go 是一个开源的编程语言,它能让构造简

2023-07-12 17:31:48 472

原创 Go语言Channel深度理解

Go语言采用的是并发模型是(CSP),提倡"通过通信共享内存",而不是"通过共享内存实现通信",**如果说goroutine是Go程序并发的执行体,那么channel则是它们之前的连接。channel是可以让一个goroutine发送一个特定的值到另外一个goroutine的通信机制**

2023-07-12 17:28:20 176

原创 带你了解什么是Goroutine

操作系统的线程一般都有固定的栈(通常为2MB),而Go语言中的goroutine非常轻量级,一个goroutine的初始栈空间很小(一般为2KB),并且goroutine的栈空间大小不是固定的,通常可以根据内容进行扩容增大或减小,Go的runtime会自动分配合适的goroutine的栈空间。由于线程间切换需要进行一个完整的上下文切换过程开销较大,Go语言本身具有一套调度goroutine的系统。

2023-07-11 11:22:12 381 1

原创 开发模式、API接口

一、web开发模式在web应用中,有两种开发模式:1.1 前后端混合开发也可以理解为:前后端不分离开发前端的一些数据都是在后端通过模板语法渲染好以后再响应给浏览器。大致开发流程:前端写好静态文件交付给后端作为模板进行开发。后端根据模板语法(变量、以及一些逻辑操作)渲染数据到模板上。遇到模板本身的问题再交付给前端进行修改,然后再交付给后端直到项目开发完成。缺点:在前端调试的时候要安装完整的一套后端开发工具,要把后端程序完全启动起来。遇到问题需要后端开发来帮忙调试。我们发现前后端

2023-07-06 17:49:50 884

原创 hint: Updates were rejected because the tip of your current branch is behind(git push线上与本地版本冲突问题)

使用Git push推送代码时,出现的问题及解决方案:hint: Updates were rejected because the tip of your current branch is behind

2022-10-24 14:03:57 20773 1

原创 Django之DRF框架(五)JWT认证

JWT简介在用户注册或登录后,我们想记录用户的登录状态,或者为用户创建身份认证的凭证。我们不再使用Session认证机制,而使用Json Web Token(本质就是token)认证机制。Json web token (JWT):是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也..

2022-07-06 22:54:21 1767

原创 一文学会DRF常用功能组件及API文档生成

本章节将会熟悉DRF更多功能的使用,在我们编写API时能够省却大量不必要的重复代码,以及在整体上提升代码的可读性,降低维护成本。在编写代码时,避免过度重复造轮子,感兴趣可以多研究现有比较好用功能的源码,这将会是后续能够编写出高质量代码的铺垫。......

2022-07-05 21:23:21 449 1

原创 Python ORM框架:SQLAlchemy的使用

一、SQLAlchemySQLAlchemy是一个ORM框架,使用它可以通过面向对象的形式来操作数据库。这也让不太熟悉SQL语句的小伙伴是如虎添翼啊。

2021-08-27 10:25:40 699

原创 学习Django后你还不了解的DRF框架(三)使用视图组件高效编写接口

前言:Django REST framwork 提供的视图的主要用途:控制序列化器的执行(检验、保存、转换数据)控制数据库查询的执行虽说视图也可以基于FBV模式来进行开发,但是使用CBV能够让我们避免很多重复代码,类具备继承、封装、多态等等,而DRF也给我们提供了非常丰富的视图组件,一起来了解一下吧!一、视图基类DRF提供了众多通用的视图基类与拓展类,以供我们简化视图的编写。1.1 APIView基类APIView是DRF提供的所有视图的基类(父类),而APIView则继承自Djan

2021-06-04 16:16:29 339 1

原创 学习Django后你还不了解的DRF框架(二)序列化器的使用

一、序列化器 Serializer序列化:序列化器会把模型对象转换成字典,经过Response以后变成JSON格式字符串反序列化:把客户端发送过来的数据,经过Request以后变成字典,序列化器可以把字典转成模型反序列化:完成数据校验功能1.1 定义序列化器Django REST framework中的Serializer使用类来定义,须继承自rest_framework.serializers.Serializer类。为了序列化器能够很好的演示出来,我们需要在一个新的app应用下面开始p

2021-05-26 21:23:40 785

原创 学习Django后你还不了解的DRF框架(一):缩短我们编写API的时间

一、Django Rest Framework框架简介该框架的核心思想就是缩短了我们编写API接口的代码量。Django REST framework是一个建立在Django基础之上的Web 应用开发框架,可以快速的开发REST API接口应用。在REST framework中,提供了序列化器Serialzier的定义,可以帮助我们简化序列化与反序列化的过程,不仅如此,还提供丰富的类视图、扩展类、视图集来简化视图的编写工作。REST framework还提供了认证、权限、限流、过滤、分页、接口文档等功

2021-05-14 22:07:08 10496 12

原创 一起学习Django框架(十一)Auth组件:满足登录认证、状态保持的需求

目录一、Auth组件是什么二、Auth组件常用方法2.1 create_user() 创建用户2.2 authenticate() 用户认证2.3 login(HttpRequest, user) 登录状态保持2.4 is_authenticated 登录认证判断2.5 logout(request) 退出登录2.6 login_requierd() 登录认证装饰器2.7 check_password(password) 检查密码2.8 set_password(password) 设置密码2.9 用户删除

2021-04-23 20:51:01 680 1

原创 一起学习Django框架(十)Django中间件;浅谈CSRF_TOKEN

目录Django中间件(MiddleWare)一、什么是中间件二、中间件的作用三、自定义中间件3.1 process_request与process_response方法3.2 process_view方法3.3 process_exception3.4 process_template_responseCSRF_TOKEN一、CSRF是什么二、CSRF攻击原理三、CSRF攻击防范Django中间件(MiddleWare)中间件本身是一个很大的范围,比如:数据库中间件、服务器中间件、消息队列中间件等等

2021-04-18 18:29:56 1306 3

原创 一起学习Django框架(九)Cookie、Session

目录1、Cookie介绍1.1 Cookie由来2.2 什么是Cookie2.3 Cookie原理2.4 Cookie覆盖2.5 浏览器查看Cookie2、在Django中操作Cookie2.1 设置Cookie2.2 删除Cookie3.3 Cookie校验登录3、Session1、Session设置2、查看、更新Session值3、删除Session值4、Session的其它方法5、Session的其它配置简介:本章节我们将了解:为何退出某个页面之后再次进入还会是登录状态,我们的登录状态是如何保存

2021-04-10 11:30:57 313

原创 一起学习Django框架(八)Ajax请求;分页器;form组件校验字段;form组件源码分析

简介:在以往章节中,我们都是使用form表单进行请求提交的,在本章节我们将了解到一种新的提交请求的方式:Ajax。它是一种新的与后端交互的方式,我们一起来了解一下吧!一、什么是AjaxAJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML,现在更多使用json数据)。同步交互:客户端发出一个请求后,需要等待服务器响应结束后,才

2021-04-10 11:22:04 375 3

原创 一起学习Django框架(七)模型层:ORM常用字段及参数;Meta元信息;ORM中的SQL

简介:本章节我们将了解到:Django的ORM中的一些常见字段、ORM字段参数、字段之间关系、Mete类的作用、及如何在ORM中使用原生SQL;一、ORM常用字段与不常用字段AutoFieldint类型且自增,必须填入参数 primary_key=True。当model中如果没有自增字段,则自动会创建一个名为id的字段,并设置为主键、自增。IntegerField整数类型,其数值范围在 -2147483648 - 2147483647。CharField字符类型,必须提供max_le

2021-03-26 18:26:17 909 1

原创 一起学习Django框架(一)简介、基本使用

介绍:Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。Django 是一个开放源代码的 Web 应用框架,由 Python 写成。Django 遵守 BSD 版权,初次发布于 2005 年 7 月, 并于 2008 年 9 月发布了第一个正式版本 1.0Django 采用了 MVT 的软件设计模式,即模型(Model),模板(Template) 和 视图(View)如果不清楚什么是web框架的,可以先了解一下:url

2021-03-21 23:03:34 3464 3

原创 一起学习Django框架(二)request对象、ORM操作数据库

前言:Django自带的功能有很多,基本能满足我们的网页开发,本章节将介绍:解析request用户请求、models文件的使用、Django ORM框架、数据库的CURD。那么话不多说,我们开始了解吧!一、request解析相信对Django了解过一些之后应该知道,每次在视图文件里面定义函数都会补上一个request形参:def index(request): return HttpReponse('Hello World!')作用:浏览器访问某个URL后,通过路由找到对应的视图里面某个函数

2021-03-21 23:02:27 1129 2

原创 一起学习Django框架(三)Django请求生命周期、路由层

前言:针对Django框架的内容,需要展开不同功能的了解,本章节主要学习Django路由层的一些用法,其中包含:路由分配、无名有名分组、反向解析、路由分发、名称空间。大致熟悉一下Django的请求生命周期,那么我们开始本章节的学习吧!一、Django请求生命周期整体过程如图所示:二、Django框架路由层2.1 路由的作用路由也就是我们在Django内常见的urls.py文件,其作用是:URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用

2021-03-21 23:00:57 749 1

原创 一起学习Django框架(四)FBV、CBV源码解析、settings源码解析

FBVFBV(Function Base Views) 基于函数的视图;在视图里面通过函数来处理请求、响应请求。在之前的Django学习中我们一直使用的方式,这里不再赘述。CBVCBV(Class Base Views)基于类的视图;在视图里通过面向对象来处理、响应请求。Python是一个面向对象的编程语言,如果只用函数来开发,有很多面向对象的优点就错失了(继承、封装、多态)。所以Django在后来加入了Class-Based-View。可以让我们用类写View。这样做的优点主要下面两种:

2021-03-21 22:58:10 840 1

原创 一起学习Django框架(五)模板层:模板语法详细

目录一、模板语法:传值二、模板语法:取值三、模板语法:过滤器四、模板语法:标签4.1 if模板标签4.2 for模板标签补充:当for接收的值不存在,如何处理五、自定义过滤器、标签、inclusion_tag5.1 简介、环境准备5.2 自定义过滤器5.3 自定义标签5.4 自定义inclusion_tag六、模板导入七、模板继承6.1 简介6.2 实例简介:本章节介绍如何在Django内玩转模板层,也就是使用模板语法在HTML页面内进行各种操作,但这些内容最后都是由Django的模块来解析模板语法。

2021-03-21 22:56:43 2468

原创 一起学习Django框架(六)模型层:ORM单表查询;ORM多表查询

简介:本章节将基于模型层操作数据库里面的表了,不再是之前的单表操作;此次引入了表的设计、基于外键字段增删改查、基于对象跨表查询、基于双下划线跨表查询。实验环境准备我们需要新建一个Django项目,为了便于我们更加方便操作模型层,有两种方式可以直接调用到模型层。方式一:在Django自带的测试环境方式二:在项目内的任意py文件内,推荐在应用下面的一个tests.py文件进行import osif __name__ == "__main__": # 注意:mysite.settings修改

2021-03-21 22:54:44 955

原创 Django框架入门前缀(HTTP协议)

一、http协议简介HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于万维网(WWW:World Wide Web )服务器与本地浏览器之间传输超文本的传送协议。HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据

2021-03-21 22:50:19 776 2

原创 Django框架入门前缀(手搭web框架)

建议在看这一章节前,先了解一下HTTP协议的组成:URL前言:在了解Django之前,我们可以先了解web框架,了解它的好处是什么呢?在一步步搭建它的过程中,我们会逐步明白到Django是如何写的,以及如果处理页面接收与反馈给页面数据的。当然 这样讲可能有点抽象,那么我们先来了解一下吧!搭建web服务端这里的web服务端是我们使用socket套接字来实现的,以浏览器为客户端 朝我们搭建的服务端发送数据,以及我们的服务端给浏览器返回数据的过程。...

2021-03-21 22:43:58 765 1

原创 初识HTML(一)基础

HTML介绍超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言。站在开发架构的角度,其属于:B/S架构的程序,也就是说客户端就是浏览器,而服务端就是存放HTML的机器。当浏览器要打开一个页面时,会向服务端发送html文件请求,待服务端返回后,然后由浏览器从上至下执解析html代码,中间可能加载到内部css和js代码 或 引入了外部css、js等文件,这些文件的加载渲染页面全部是由浏览器来完成。什么是 HTML?HTML 是用来

2021-03-14 10:11:38 1054 2

原创 初识HTML(二)VsCode编辑器,常用标签

文章目录VS Code编辑器元素的概念HTML标题HTML段落HTML超链接HTML图片插入常用字体样式标签标签嵌套 HTML 编辑器推荐可以使用专业的编辑器来编辑 HTML,其界面以及代码可观读都很高,为大家推荐以下两种常用的编辑器:VS Code:https://code.visualstudio.com/Sublime Text:https://code.visualstudio.com/根据官网提示安装后,我们将使用该VsCode对html进行编辑VS Code编辑器Visual

2021-03-13 19:40:40 4711 1

原创 初识HTML(三)表格、表单

前言:本章节将了解到HTML里较为重要的标签:表格与表单。说到表格,在早期时候的网页甚至整个页面都是表格来进行布局的,笔者也在刚学习HTML的时候,就曾整张页面都是使用表格完成的,其作用可见不一般。而表单的话则是前后端交互的一个接口,在成为一个动态页面上起到了作用,那下面来了解一下它们的使用方式吧!HTML表格表格由 <table> 标签来定义。每个表格均有若干行(由 <tr> 标签定义),每行被分割为若干单元格(由 <td> 标签定义)。字母 td 指表格数据(

2021-03-13 19:39:08 1602 1

原创 初识HTML(四)进阶:CSS基础、常用属性

前言:本章节将学习到HTML中最为重要的CSS,有了它我们的网页将可以实现更多功能以及添加很多样式,如果将html标签比作房子的话,那么就是给房子进行装修了,通过使用 CSS 我们可以大大提升网页开发的工作效率!开始了解CSS的魅力所在吧!什么是css?CSS 指层叠样式表 (Cascading Style Sheets)样式定义如何显示 HTML 元素样式通常存储在样式表中外部样式表可以极大提高工作效率外部样式表通常存储在 CSS 文件中多个样式定义可层叠为一个css语法定义CS

2021-03-13 19:35:33 1337

原创 初识HTML(五)进阶:CSS盒子模型、页面布局

CSS 盒子模型(Box Model)所有HTML元素可以看作盒子,在CSS中,"box model"这一术语是用来设计和布局时使用。CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距margin,边框border,填充padding,和实际内容(文本、或者图片、或者其它标签)。盒子模型允许我们在其它元素和周围元素边框之间的空间放置元素。下面的图片说明了盒子模型(Box Model):标准的W3C盒子模型:元素的宽度和高度重点: 当你指定一个 CSS 元素的宽度和高度属性时

2021-03-13 19:34:01 11921 2

原创 初识HTML(六)高级:了解JavaScript

前言:JavaScript 是 Web 的编程语言,所有现代的 HTML 页面都会使用 JavaScript。它与HTML、CSS合称:web开发三剑客。那么我们来了解一下它的用途吧!ps:本章节主要讲述简单使用JavaScript来操作页面元素,JavaScript介绍JavaScript也可以简称为:JSJavaScript实际与Java在使用上没有任何关系,但是起源却有些联系,感兴趣可以看看:https://blog.csdn.net/kese7952/article/details/793

2021-03-13 19:32:07 1200

原创 初识HTML(七)高级:了解jQuery

目录JQuery介绍Jquery优势JQuery版本JQuery的引用jQuery语法原生JS与JQ对象标签操作事件JQuery介绍jQuery是一个轻量级的、兼容多浏览器的JavaScript库。jQuery使用户能够更方便地处理HTML Document、Events、实现动画效果、方便地进行Ajax交互,能够极大地简化JavaScript编程。它的宗旨就是:“Write less, do more.“Jquery优势一款轻量级的JS框架。jQuery核心js文件才几十kb,不会

2021-03-13 19:27:59 1087

原创 带你了解什么是MySQL数据库(九)事务隔离机制

前言:上一篇提到了事务的读现象,在本章节再进行补充说明,读现象是如何产生的,以及如何解决,其读现象也就是存在于不同事务内查询的结果差异,那么开始向下了解吧。事务隔离机制事务具有原子性、一致性、隔离性、持久性四大特性,而隔离性顾名思义指的就是事务彼此之间隔开,多个事务在同时处理一个数据时彼此之间互相不影响,如果隔离的不够好就有可能会产生脏读、不可重复读、幻读等读现象,为此,隔离性总共分为四种级别。不同级别会产生不同问题,由低到高依次为:Read uncommittedRead committe

2021-03-13 19:26:00 1013

原创 带你了解什么是MySQL数据库(八)数据库锁机制

前言:本章节即将了解到,数据库锁的机制。锁这个概念在很多地方都会出现,如Python、Java等等编程语言内,而锁的目的也很简单,保证数据的安全性,但是也随之降低了效率,我们必须根据情况而定,如果追求安全性的情况下,就不能盲目追求效率,而MySQL作为数据库,存入在里面的必定是很重要的数据,如果了解锁的机制是很有必要的。数据库的锁机制什么是锁?为何要加入锁机制?锁是计算机协调多个进程或线程并发访问某一资源的机制,那为何要加入锁机制呢?因为在数据库中,除了传统的计算资源(如CPU、RAM、I/

2021-03-13 19:20:51 1306

原创 带你了解什么是MySQL数据库(七)事务、数据库读现象

前言:本章节将学习到数据库中的一个很重要的内容:事务,其实在日常使用MySQL中事务早已产生,只是我们并没有注意到,那么现在来了解一下事务的概念、以及使用方法把!什么是事务?事务(Transaction):顾名思义就是要做的或所做的事情,数据库事务指的则是作为单个逻辑工作单元执行的一系列操作(SQL语句)。这些操作要么全部执行,要么全部不执行。在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行

2021-03-13 19:19:03 1061

原创 带你了解什么是MySQL数据库(六)索引原理,如何建立与使用索引

前言学习过某一门编程后相信我们对索引不会陌生,如Python内的列表通过索引取值,其目的也很简单,就是在众多数据中快速取到我们需要的内容。如果没有索引的话,我们只能一个一个值的去找,这无疑大幅度降低了效率。那么我们本章节来了解一下MySQL内的索引机制。索引原理介绍什么是索引?索引在MySQL中又称为’键’,是存储引擎快速找到记录的一种数据结构、或者说数据的组织方式。建立索引会消耗空间和时间,但是好处是索引可以快速找到我们想要的内容。抽象理解:表 > 书记录 >

2021-03-13 19:16:30 1303

原创 带你了解什么是MySQL数据库(五)数据库备份、PyMySQL模块、SQL注入问题

前言:相信了解到这里,对MySQL数据库也有了一定的了解,那么我们再来学习一下较为重要的内容,数据备份,使用备份的目的也很简单, 防止数据遗忘或者丢失等等,通过备份文件就可以恢复备份时的数据内容,通常备份需要定期来执行,那么我们来了解一下MySQL的备份吧。MySQL数据备份备份方式有以下几种:物理备份: 直接复制数据库文件,适用于大型数据库环境。但不能恢复到异构系统中如Windows。逻辑备份: 备份的是建表、建库、插入等操作所执行SQL语句,适用于中小型数据库,效率相对较低。导出表:

2021-03-02 16:16:55 906 1

空空如也

空空如也

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

TA关注的人

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