自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 PostgreSQL介绍与安装

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。

2024-07-01 22:57:20 1068

原创 Loguru--日志记录神器

在日常使用中,如果默认的输出内容不够,我们也可以自定义日志的输出内容和格式,可以通过add()方法中的格式选项对Loguru生成的日志记录进行重新格式化。

2024-07-01 22:52:26 924 1

原创 一文讲解Docker入门到精通

Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。加了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在上进行维护。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

2024-07-01 22:50:11 1463

原创 Django框架之Ajax进阶

前端:将数据封装为json格式;;后端:手动处理json格式数据,对request.body接收的二进制数据进行处理:解码 + 反序列化。需要利用内置对象FormData添加普通的键值对添加文件对象需要指定两个关键性的参数contentType:false, // 不需要使用任何编码,django后端能够自动识别formdata对象processDate:false, // 告诉你的浏览器不要对你的数据进行任何处理。

2024-05-09 22:19:50 401

原创 Django框架之Ajax基础

Ajax(Asynchronous JavaScript and XML)是一种用于创建交互式网页应用程序的技术。它允许在不重新加载整个页面的情况下,通过在后台与服务器进行数据交换,更新部分页面内容。Ajax的核心在于通过异步通信与服务器交换数据,使用户能够在不中断当前页面的情况下与服务器进行数据交互。AJAX 不是新的编程语言,而是一种使用现有标准的新方法。(比较装饰器)触发事件:用户与网页交互,触发事件(如点击按钮)。发送请求。

2024-05-09 22:19:03 577

原创 Vue入门到关门之Vue3学习

如果在项目中使用配置项API,那么写起来就和vue2的写法是一样的;但是如果在项目中写的是组合式API,那么组件中所用到的:数据、方法等等,均要配置在setup中。此外,setup()需要在非单文件组件中使用组合式 API 时。需要在基于选项式 API 的组件中集成基于组合式 API 的代码时。Computed属性computed 是一个函数,它返回一个值,该值依赖于组件的数据。当依赖的数据发生改变时,computed 返回的值会自动更新。

2024-05-09 18:57:09 918

原创 Vue入门到关门之Vue3项目创建

Vite(法语意为 “快速的”,发音/vit/,发音同 “veet”)是一种新型前端构建工具,能够显著提升前端开发体验。它的工作流程与传统方式不同:**传统方式:**webpack启动项目 -> webpack进行打包编译->将打包的结果交给浏览器 ->浏览器运行先抓取并构建你的整个应用,然后才能提供服务。更新速度会随着应用体积增长而直线下降。**vite 方式:**vite启动项目 -> 将打包编译的工作交给了浏览器->浏览器直接解析业务Vite 以 原生 ESM 方式提供源码。

2024-05-06 22:41:39 1078

原创 Vue入门到关门之Vue高级用法

},data() {return {

2024-05-06 21:38:21 918

原创 Django框架之模型层

以下方法的前提均为 models.模型表名.objects 之后的方法1. all() 查询所有数据2. filter() 带有过滤条件的查询我们在利用数据的主键字段筛选数据的时候,可以不考虑主键字段叫什么,直接用pk代替3. get() 直接拿数据对象,但是条件不存在直接报错4. first() 拿queryset里面第一个元素5. last() 拿queryset里面最后一个元素。

2024-05-02 21:11:15 1423 1

原创 Django框架之模板层

Django的模板中会对HTML标签和JS等语法标签进行自动转义,原因显而易见,这样是为了安全。但是有的时候我们可能不希望这些HTML元素被转义比如我们做一个内容管理系统,后台添加的文章中是经过修饰的,这些修饰可能是通过一个类似于FCKeditor编辑加注了HTML修饰符的文本,如果自动转义的话显示的就是保护HTML标签的源文件。以后在写全栈项目时,前端代码不一定必须在前端页面书写,也可以选择先在后端写好,再传递给前端页面展示在Django模板中,您可以使用for标签来循环遍历列表或查询集中的元素。

2024-05-02 21:09:55 874 1

原创 Django框架之视图层

视图函数必须要返回第一个HttpResponse对象,研究三者源码可得出结论。

2024-05-02 21:07:09 1260

原创 Django框架之路由层

反向解析(Reverse URL resolution)是一个在Web开发中常用的概念,特别是在使用框架如Django等时。它指的是根据URL模式(URL patterns)和视图名称(view names)来动态地生成URL的过程。通俗的来说:反向解析就是通过一些方法得到一个结果, 该结果可以直接访问对应的 url 并触发视图函数django是专注于开发应用的,当一个django项目特别庞大的时候, 所有的路由与视图函数映射关系全部写在一个 urls.py 里面很明显太冗余并且不便于管理。

2024-05-02 21:05:37 967

原创 Vue入门到关门之第三方框架elementui

Element UI 是一个基于 Vue.js 的组件库,它提供了丰富的 UI 组件和一套完整的解决方案,用于快速构建现代化的 Web 应用程序。Element UI 的目标是帮助开发者快速构建出美观、易用的界面,并提供了丰富的组件,包括但不限于按钮、表单、表格、对话框、菜单、导航、布局等等。丰富的组件: Element UI 提供了大量的常用 UI 组件,开发者可以通过简单的引入和配置,快速构建出符合现代界面设计的 Web 应用。易用性。

2024-05-02 21:03:40 801

原创 Vue入门到关门之Vue项目工程化

在JavaScript中,letconst和var是用于声明变量的关键字,它们在作用域、可变性和提升等方面有一些重要的区别。在ES6之前,我们都是用var来声明变量,而且JS只有函数作用域和全局作用域,没有块级作用域,所以{}限定不了var声明变量的访问范围。ES6 新增了let命令,用来声明局部变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效,而且有暂时性死区的约束。在现代JavaScript中,推荐优先使用const,如果变量的值需要变化,则使用let,避免使用var。

2024-04-30 21:56:48 1422

原创 Vue入门到关门之组件

全局组件可以在整个应用程序中的任何地方使用,而局部组件只能在注册它的实例或者组件内部使用。全局组件适合用于在整个应用中频繁使用的通用组件,而局部组件适合用于特定页面或者组件内部的组件。全局组件的注册是通过方法进行,而局部组件的注册是通过组件选项中的components属性进行。注意:组件中的数据,事件在没有额外参数的影响下都是独立的Element UI是一个基于Vue.js的组件库,提供了丰富的UI组件,如按钮、表格、弹窗等,可以帮助开发者快速构建美观、功能完善的前端界面。

2024-04-30 21:44:24 1075

原创 Vue入门到关门之生命周期钩子

在软件开发中,"生命周期"通常指的是一个对象从创建到销毁的整个过程。在前端开发中,特别是在使用诸如Vue.js、React等框架的情况下,"生命周期"常常指的是组件或实例在其存在期间经历的一系列阶段。在Vue.js中,每个Vue实例都有一个生命周期,它包含了一系列的钩子函数(也称为生命周期钩子),这些钩子函数允许开发者在实例的不同阶段添加自定义逻辑。通过这些钩子函数,你可以控制实例在特定时间点执行特定的操作,比如在数据加载前执行一些初始化操作、在实例销毁前清理资源等。阶段一:创建 (创建vue实例)

2024-04-30 21:37:05 488

原创 Django框架之请求生命周期流程图

WSGI是协议,小写的wsgiref和uwsgi是实现该协议的功能模块提前已经将你想要的数据准备好了,需要的时候直接拿就可以,提高了效率和响应时间。eg:当你在修改你的数据的时候,你会发现数据并不是立刻修改完成的,而是需要经过一段时间才会修改。

2024-04-29 22:11:08 1112

原创 Django框架之ORM操作

ORM(Object-Relational Mapping)是一种编程技术,用于在关系型数据库和面向对象编程语言之间建立映射关系,从而实现数据的持久化和操作。ORM工具可以将数据库中的表和记录映射到编程语言中的对象和属性,使开发人员可以使用面向对象的方式来操作数据库,而无需直接编写SQL语句。简单来说,就是数据库中的表映射为Python中的类数据库中的字段映射为Python中的属性数据库中的记录映射为Python中的实例应用下面的models.py文件数据库中的表映射为Python中的类。

2024-04-29 22:08:24 883

原创 Django框架之request对象

服务器接收到http协议的请求后,会根据报文创建HttpRequest对象,这个对象不需要我们创建,直接使用服务器构造好的对象就可以。视图的第一个参数必须是HttpRequest对象,在django.http模块中定义了HttpRequest对象的API。ps:get请求携带的数据是有大小限制的,大概好像只有4KB左右,而post请求没有限制。

2024-04-29 22:05:28 718

原创 Vue入门到关门之Vue介绍与使用

模版语法也可以叫做插值表达式,插值表达式用户把vue中所定义的数据,显示在页面上.。插值表达式允许用户输入"JS代码片段"。

2024-04-27 22:29:59 657

原创 Vue入门到关门之计算属性与监听属性

基础定义方式// 计算属性的名称// 计算属性的逻辑处理// 返回计算结果监听属性是Vue中的⼀种特殊属性,用于监测数据的变化并触发相应的回调函数。通过监听属性,我们可以在数据发生改变时执行一些额外的逻辑操作。在watch对象中,可以定义多个属性的监听器,每个属性对应一个回调函数。当被监听的属性发生变化时,Vue会自动调用对应的回调函数,并传递新值和旧值作为参数。监听对象定义方式watch: {// 监听firstName属性变化// 在这里执行相关的操作},

2024-04-27 22:26:22 1112

原创 Vue入门到关门之指令系统

在 Vue.js 中,指令(Directives)是一种特殊的标记,用于向 Vue 实例提供特殊的行为。指令以 开头,例如 、 等。2、事件指令(1)v-onv-on 事件绑定指令,用来辅助程序员为DOM 元素绑定事件监听,并提供处理逻辑。语法:由于v-on 指令在开发中使用频率非常高,因此,vue 官方为其提供了简写形式(简写为英文的@)常用的事件有:点击事件,双击事件,拖动事件,得到焦点,失去焦点。。。。例如:(2)es6的对象写法(3)v-on调用传参函数有一个参数如果在事件

2024-04-27 22:24:18 1347

原创 Django框架之静态文件配置

定义 STATCI_ROOT执行 python manage.py collectstatic 把相关的静态文件都收集到 STATIC_ROOT 定义的绝对路径下配置nginx,对 css/js/image 类的 请求单独一个 location 转发到 STATIC_ROOT 定义的目录下去。

2024-04-25 22:49:29 980 1

原创 Django框架之Django小白必会三板斧

在之前的文章中,我们学会了对web框架的封装优化处理,其中的urls.py和views.py尤为重要。

2024-04-25 22:47:27 1021 1

原创 Django框架之Django安装与使用

首先我们需要先确定好自己电脑上的python解释器环境,否则会导致后面项目所需要的库安装不了以及项目无法运行的问题。要下载Django并开始使用它,你可以按照以下步骤进行:你可以使用Python的包管理工具pip来安装Django。打开命令行终端(Windows下为命令提示符或PowerShell,Mac和Linux下为终端),然后运行以下命令来安装最新版本的Django:如果之前下载了其他版本不用管Python解释器会将旧版本卸载,安装指定的版本,即自动替换!!!在命令行中,进入到你想要创建Dja

2024-04-25 22:45:55 1541 1

原创 Django框架之python后端框架介绍

特点: 大而全,自带的功能特别特别特别的多,类似于百科全书不足之处:有时候过于笨重。

2024-04-24 19:50:11 1065

原创 Vue入门到关门之前端引入

功能更强大的框架,还配备了更多的功能和附加的基于JavaScript的功能,但大多设计导向的和Unobtrusive JavaScript。就比如使用HTML(5)、CSS(3)、JavaScript(ES5、ES6)来编写一个个的页面,然后发给后端(PHP、Python、Go、Java) ,后端收到浏览器的请求再嵌入模板语法、渲染完数据返回数据给前端,最终在浏览器中查看。React 的核心思想是“声明式编程”,也就是说,开发人员可以专注于定义组件的外观和行为,而不必担心实现细节。

2024-04-24 19:36:19 1148 2

原创 Django框架之原始web框架优化

Web框架(Web framework)是一种开发框架,用来支持动态网站、网络应用和网络服务的开发。这大多数的web框架提供了一套开发和部署网站的方式,也为web行为提供了一套通用的方法。web框架已经实现了很多功能,开发人员使用框架提供的方法并且完成自己的业务逻辑,就能快速开发web应用了。浏览器和服务器的是基于HTTP协议进行通信的。也可以说web框架就是在以上十几行代码基础张扩展出来的,有很多简单方便使用的方法,大大提高了开发的效率。

2024-04-24 19:27:09 1018

原创 DRF学习之jwt介绍与使用、simpleui的简单使用

摘要算法(Hash Algorithm)是一种将任意长度的数据转换为固定长度摘要(哈希值)的算法。这个哈希值通常是一个固定长度的字节序列,通常用于唯一标识输入数据。固定长度输出:无论输入数据的长度如何,摘要算法都会生成一个固定长度的哈希值。唯一性:对于不同的输入数据,摘要算法应该生成不同的哈希值。这意味着即使输入数据仅有微小的变化,生成的哈希值也会完全不同。不可逆性:摘要算法是单向的,即从哈希值无法还原出原始数据。这意味着无法通过哈希值来获取原始数据的内容。一致性:相同的输入数据应该始终生成相同的哈希值。

2024-04-23 22:09:24 1167

原创 DRF学习之全局异常处理、接口文档书写

针对上面的源码,我们也可以自定义异常处理,DRF默认的异常处理,只处理APIException及其子类的异常,处理不了的会返回None,我们可以判断异常是否属于APIException及其子类的异常,如果是则返回错误信息,如果不是,那么我们则返回服务器错误。自定义异常处理'''需求:0 执行原来的exception_handler判断返回值是否为 None:如果是None,说明是非drf异常,自己包装一个Response如果不是None,说明是drf异常,包装一个Response。

2024-04-23 21:58:29 1158

原创 DRF学习之三大认证

user_type=models.IntegerField(choices=((1,'注册用户'),(2,'普通管理员'),(3,'超级管理员')),default=1)@propertyverbose_name_plural = '用户表'# 用于存放uuidtoken = models.CharField(max_length=64) # 存用户登陆状态【作用等同于session表】

2024-04-22 21:10:00 759

原创 DRF学习之路由组件

路由器将HTTP方法与视图集中的相应操作方法进行映射。在使用路由器时,需要先定义一个视图集,然后将其与路由器关联起来。最后,在URL配置中使用路由器生成的路由规则。作用:修饰自定义视图函数,使之能够进行自动路由映射因为上面两种自动映射路由方法都不会映射自定义视图方法所以我们选择装饰器。urls.pyviews.py# action作用:修饰自定义视图函数,使之能够进行自动路由映射# methods: 映射的请求方式# url_path: 路径拼接尾缀,默认值是函数名字。

2024-04-22 21:07:48 771

原创 DRF学习之类视图详解介绍

视图类:GenericAPIView继承了APIView视图扩展类:有5个方法 —> 继承了5个视图扩展类ListModelMixin,封装了get请求获取全部数据的代码,其下有list方法CreateModelMixin,封装了post请求新增数据的代码,其下有create方法DestroyModelMixin,封装了delete请求删除数据的代码,其下有destroy方法UpdateModelMixin,封装了put请求修改数据的代码,其下有update方法。

2024-04-21 21:51:05 905 1

原创 DRF学习之request对象、response对象、parser解析器以及render渲染器类

REST framework 的Request类扩展了标准HttpRequest,增加了对 REST framework 灵活的请求解析和请求身份验证的支持。DRF中的解析器可以根据请求头中的Content-Type来自动解析参数,使用统一的data属性可以获取到解析后的数据, 默认。在没有数据迁移的情况下,我们向浏览器发送请求,然后报出了django-session表不存在的情况,该如何解决?DRF中的render渲染器可以根据请求头中的Content-Type来自动渲染前端需要的数据,默认渲染器为。

2024-04-21 21:47:18 814 1

原创 DRF学习之序列化类的介绍及使用

校验前端传入的数据# 1. 数据校验第一层,字段自己校验# 名字最长8位,最短3位name = serializers.CharField(max_length=8, min_length=3) # 字段参数,控制 数据校验# 2. 局部钩子函数--->给某个字段加限制条件# 书名不能以66开头# 书名不能有66# 不合法,抛出异常raise ValidationError('书名不能以66开头')else:# 合法,返回原来的数据"""局部钩子,一个字段只能写一个。

2024-04-21 21:43:03 862

原创 DRF学习之APIView执行流程以及request对象源码分析

只要继承了APIView,就不需要处理csrf以后前端提交的数据,无论什么编码,无论什么请求方式,数据都从 request.data 取,它是字典可能是:QueryDict不是真正的字典,用起来,可能会有点小问题可能是:dict继承APIView的类,通过路由的方法可以看到APIView继承了Django的View类APIView的as_view@classmethod # 绑定给类的方法,类来调用。

2024-04-21 21:16:39 893

原创 DRF学习之DRF初识

*DRF ( Django REST framework)**是一个用于构建 Web API 的强大且灵活的工具包,基于 Django Web 框架。DRF 提供了一组用于快速开发 Web API 的工具和功能,使得构建 RESTful API 变得简单和高效。也使后端开发人员更方便的编写API接口。DRF 的设计理念是使构建 Web API 变得简单、快速且易于维护。它与 Django 框架紧密集成,为开发者提供了丰富的功能和工具,使得构建强大的 RESTful API 成为可能。

2024-04-21 20:23:12 806

原创 Django框架之分页器使用

当我们需要使用到非django内置的第三方功能或者组件代码的时候,我们一般情况下会创建一个名为utils文件夹,在该文件内对模块进行功能性划分。utils可以在每个应用下创建。我们到了后期封装代码的时候,不再局限于函数,还是尽量朝面向对象去封装我们自定义的分页器"""封装分页相关数据:param current_page: 当前页:param all_count: 数据库中的数据总条数:param per_page_num: 每页显示的数据条数。

2024-04-08 10:58:58 755

空空如也

空空如也

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

TA关注的人

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