自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 资源 (1)
  • 收藏
  • 关注

原创 django项目前期准备

django项目前期准备一、配置管理二、数据库连接三、日志管理一、配置管理在生产中,我们需要两套配置,一套为我们开发环境配置,另一套为生产环境配置,我们需要将django项目创建好的settings文件中的所有内容复制到开发环境配置中,然后删除settings文件。接下来,我们将manage.py文件中的配置文件路径进行更改:二、数据库连接在数据库服务器中创建一个新数据库并授权(权限根据自己需求调整):在dev配置文件中配置要连接的数据库:在内部目录__init__文件中引入pymys

2021-03-10 13:26:15 314

原创 Vue脚手架项目流程

Vue脚手架项目流程一、Vue脚手架的安装1、node.js安装2、npm3、vue-cli安装二、初始化一个vue项目三、项目目录结构1、主要目录2、核心文件3、关系图四、vue-router1、基本写法及传参的使用2、路由嵌套五、引入ElementUi一、Vue脚手架的安装1、node.js安装Vue CLI 需要 Node.js 8.9 或更高版本 (推荐 8.11.0+)。你可以使用 nvm 或 nvm-windows在同一台电脑中管理多个 Node 版本。nvm工具的下载和安装:1、ht

2021-02-09 14:39:45 642

原创 drf:分页

drf:分页一、分页的基本写法1、全局分页2、局部分页二、PageNumberPagination一、分页的基本写法1、全局分页全局分页需要在django配置文件中写入:REST_FRAMEWORK = { 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.LimitOffsetPagination', 'PAGE_SIZE': 3}page_size表示每一页显示数据的条数我们来测试一下,访问页面:如图,分页成

2021-01-24 20:21:36 966

原创 drf:认证及权限

drf:认证及权限一、认证Authentication1、全局认证2、局部认证二、权限1、全局权限2、局部权限三、测试一、认证Authentication在drf中我们还可以进行权限和认证操作,我们先来看看认证1、全局认证全局认证我们只需在django配置文件中加入一个字典即可:REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': [ 'rest_framework.authentication.BasicAuthenti

2021-01-24 18:14:47 1156

原创 drf:路由

drf:路由一、介绍二、DefaultRouter三、SimpleRouter一、介绍我们在使用视图集的过程中,要对路由进行映射,当扩展方法过多时,路由会写的很长,如下:urlpatterns = [ path('bookinfo/',BookOperation.as_view({'get':'list','post':'create'})), re_path(r'bookinfo/(?P<pk>\d+)/',BookOperation.as_view({'get':'retrieve

2021-01-24 17:38:38 1000

原创 Tornado框架part1

Tornado框架part1一、tornado介绍1、介绍2、特点3、主要部分二、项目的基本运行1、安装2、开启调试模式3、路由拆分4、视图编写5、多进程模式三、请求1、常见请求信息获取2、接收查询字符串3、接收请求体4、接收路由参数一、tornado介绍1、介绍Tornado是使用Python开发的全栈式(full-stack)Web框架和异步网络库,最早由4名Google前软件工程师(布雷特·泰勒)2007创办的Friendfeed(一个社交聚合网站)开发而来的。通过使用非阻塞IO,Tornado

2021-01-18 21:11:33 313 1

原创 drf:视图

drf:视图一、GenericApiView1、APIview(一级视图)2、GenericApiView(二级视图)二、Mixin三、三级视图四、视图集一、GenericApiView1、APIview(一级视图)为了方便测试,我们先定义两张表,一张为书籍表,一张为作者表,书籍和作者通过id来关联我们先来看一段基本的APIview代码:序列化器:from rest_framework.serializers import ModelSerializerfrom rest_framework

2021-01-17 17:43:05 403 11

原创 vue+django前后端分离通信流程图

vue+django前后端分离通信流程图

2020-12-22 20:52:30 1183 1

原创 websocket

websocket一、websocket简介二、flask-websocket的安装及初始化操作三、创建socket连接四、基于事件接受信息1、基于未定义事件进行通信2、基于自定义事件进行通信五、服务端响应信息六、基于房间管理分发信息七、服务端定时推送数据一、websocket简介一直以来,HTTP是无状态、单向通信的网络协议,即客户端请求一次,服务器回复一次,默认情况下,只允许浏览器向服务器发出请求后,服务器才能返回相应的数据。如果想让服务器消息及时下发到客户端,需要采用类似于轮询的机制,大部分情况就

2020-12-19 19:33:09 704 2

原创 JWT流程图

JWT流程图

2020-12-14 14:14:02 718

原创 异步任务队列celery流程图

异步任务队列celery流程图

2020-12-14 14:12:07 642

原创 FLASK框架part3

FLASK框架part3一、jinja21、加载模版2、模版语句3、模版中显示内置变量或函数4、内置过滤器一、jinja2Flask内置的模板语言,它的设计思想来源于 Django 的模板引擎,并扩展了其语法和一系列强大的功能。渲染模版函数Flask提供的 render_template 函数封装了该模板引擎render_template 函数的第一个参数是模板的文件名,后面的参数都是键值对,表示模板中变量对应的真实值。1、加载模版from flask import Flask,rende

2020-11-22 21:18:17 173 1

原创 FLASK框架part2

FLASK框架part2一、http的会话控制1、会话控制-Cookie2、会话控制-session二、视图请求钩子函数三、执行上下文context1、请求上下文(request context)2、应用上下文(application context)四、启动终端脚本五、自定义终端命令六、自定义脚手架命令及仿真测试数据1、通过自定义终端命令来创建项目脚手架2、仿真测试数据一、http的会话控制所谓的会话,就是客户端浏览器和服务器网站之间一次完整的交互过程会话的开始是在用户通过浏览器第一次访问服务端网站

2020-11-19 22:44:00 256

原创 FLASK框架part1

FLASK框架part1一、flask简介二、flask安装及环境构建三、flask框架详解1、基本运行2、加载配置3、传递路由参数(没有限定类型)4、传递路由参数(通过路由转换器限定路由参数类型)5、自定义转换器6、路由限定请求方式7、路由、视图分离8、请求中的html表单数据9、来自客户端请求的其他数据10、数据响应11、跳转一、flask简介Flask诞生于2010年,是Armin ronacher(人名)用 Python 语言基于 Werkzeug 工具箱编写的轻量级Web开发框架。Flask

2020-11-18 20:59:33 237 2

原创 drf--part2

drf--part2一、局部钩子和全局钩子1、局部钩子2、全局钩子3、常用字段和参数二、视图相关1、保存数据2、更新数据三、modelSerializer的使用四、响应状态码一、局部钩子和全局钩子接上篇:1、局部钩子在反序列化校验中,我们不仅可以通过validators来自定义校验函数,也可以使用钩子函数来进行校验,首先我们介绍局部钩子。局部钩子用在单个属性的校验,具体写法如下:from rest_framework import serializersclass StudentSerial

2020-10-24 16:02:43 477 11

原创 drf--part1

drf一、序列化1、序列化2、反序列化二、drf(Django Rest_Framework)1、环境安装与配置三、drf完全简写代码的过程一、序列化在api接口的开发中,最核心、最常见的部分就是序列化,所谓序列化就是把数据转换格式,序列化可以分为两个阶段:1、序列化把我们识别的数据转换成指定的格式提供给别人例如:在Django中,我们默认获取到的数据是模型对象,但模型对象无法直接提供给前端或别的平台使用,所以我们要把数据序列化,将数据转换为字符串或json数据,提供给别人2、反序列化把别人提

2020-10-21 22:23:08 287

原创 Django实现简单图书管理系统

Django实现简单图书管理系统一、系统功能二、页面效果1、登陆界面2、管理页面一、系统功能1、用户通过用户名密码登陆图书管理页面2、在管理页面可进行添加、编辑、删除书籍3、前端进行增删改时,数据库需同步进行操作4、可随时注销用户,退出登陆并清除cookie缓存二、页面效果1、登陆界面用户通过指定用户名密码登陆后,发起session会话,浏览器存储session_id2、管理页面在管理页面用户可进行增删改...

2020-10-09 21:55:29 12508 27

原创 wsgiref实现web框架

wsgiref web框架一、web框架基本写法二、wsgiref版web框架三、wsgiref版web框架(MTV模式)一、web框架基本写法python服务端:用socket建立服务端、客户端通信,多线程加载文件import socketfrom threading import Threadserver=socket.socket()server.bind(('127.0.0.1',8002))server.listen()def html(conn): with open('we

2020-09-10 00:02:17 476

原创 Bootstrap

BootstrapBootstrap是一个web页面快速搭建框架,可用来快速建站,复制框架中的模块对原代码进行优化、调整,自己根据功能需求进行微调即可,具体用法请详见官网文档(很具体)官网:https://www.bootcss.com/使用说明:https://v3.bootcss.com/...

2020-09-08 23:11:52 112

原创 jquery

jquery一、jquery初识二、选择器1、id选择器2、类选择器3、元素选择器4、组合选择器5、后代选择器6、表单选择器7、筛选器方法:三、文件操作四、class类值操作1、添加类值2、删除类值3、切换,有就删除,没有就添加五、css样式操作六、值操作七、创建标签八、文档操作1、往标签内部的后面添加元素2、append添加标签:3、prepend方法:4、insertBefore方法:5、insertAfter:九、清空及删除标签十、克隆十一、模版字符串十二、事件绑定十三、事件委托十四、属性操作十五、常

2020-09-08 23:02:24 273

原创 JS操作BOM和DOM

JS操作BOM和DOM一、js中的json序列化二、BOM操作1、location对象2、计时器三、DOM对象1、创建标签2、查找标签3、文本操作4、值操作5、事件6、JS获取时间上一节补充:弹性盒子弹性盒子可用来做居中效果(推荐)display:flex<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title&

2020-09-03 21:25:40 199 1

原创 css补充及js基础

css补充及js基础一、CSS补充1、选择器优先级2、margin补充3、overflow二、JS基础1、js代码的引入方式2、变量3、数据类型4、流程控制5、运算符6、for循环7、while循环8、函数一、CSS补充1、选择器优先级<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> &lt

2020-09-02 19:35:40 219

原创 css样式相关

css样式相关一、css高度宽度二、字体相关三、颜色相关四、背景设置五、边框设置六、盒子模型七、display属性八、伪元素选择器九、浮动十、伪类选择器十一、文字装饰十二、定位一、css高度宽度width:50%,宽度高度可以设置百分比,会按照父级标签的高度宽度来计算,但是如果给高度设置百分比,那么必须要求父级标签有固定高度才行示例:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-

2020-09-01 22:07:31 203

原创 HTML及CSS选择器

前端之HTML一、html基本结构一、html基本结构html是一种超文本标记语言,进行网页页面的文本编辑html注释写法:<!--注释内容-->基本结构如下:<!DOCTYPE html> <!--文档声明--><html lang="en"> <!--lang="en"表示语言--><head> <!--头部信

2020-08-31 22:43:52 587

原创 mysql数据库part3(查询进阶)

mysql数据库part3一、查询语法1、where条件的使用2、group by3、having4、order by5、limit 限制查询条数(数据分页)6、(了解)可以使用正则表达式查询数据(不推荐,效率不高,基本可使用模糊查询代替)二、多表查询1、内连接(inner join)2、外连接三、子查询一、查询语法sql查询语句基本语法:select .. from .. where ..group by .. having .. order by .. limit..1、where条件的使用

2020-08-27 08:25:56 577

原创 mysql数据库part2

mysql数据库part2一、时间类型(数据类型续)二、约束1、unsigned2、not null3、default4、unique5、primary key6、auto_increment7、zerofill8、主键索引(PRI)、唯一索引(UNI)、普通索引(MUL)9、foreign key三、存储引擎一、时间类型(数据类型续)date YYYY-MM-DD 年月日time HH:MM:SS 时分秒year YYYY 年份值datetime YYYY-MM-DD HH:MM:SS

2020-08-25 20:09:12 775

原创 mysql数据库part1

mysql数据库一、mysql基本操作二、mysql的增删改查1、库操作2、表操作3、数据操作三、常用数据类型SQL语言分为4个部分:DDL(定义)、DML(操作)、DQL(查询)、DCL(控制)1、DDL语句 数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER2、DCL语句 数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE3、DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE4、DQL语句 数据库

2020-08-25 00:07:19 1529

原创 Python多进程part2

进程part2一、lock锁1、基本用法:2、模拟抢票3、Semaphore信号量二、事件1、手动添加阻塞2、将属性值进行变更3、wait可以加参数,表示最大等待时间:4、手动添加动态堵塞实现交通灯:三、进程队列1、基本写法2、设置队列长度3、进程之间的数据互享四、生产者和消费者一、lock锁上锁和解锁是一对,只上锁不解锁会发生死锁现象(代码阻塞,不往下执行)互斥锁:互斥锁是进程之间的相互排斥,谁先抢到这个锁资源就先使用,后抢到后使用1、基本用法:我们先来看看只上锁不解锁情况:from mult

2020-08-23 22:49:15 146

原创 Python实现多进程part1

进程part1一、进程介绍1、获取子父进程2、进程的基本使用2、创建带有参数的进程3、进程之间的数据彼此隔离4、多个进程之间的异步并发二、join1、基本语法2、使用自定义类的方法创建进程三、守护进程一、进程介绍进程就是正在运行的程序,它是操作系统中,资源分配的最小单位资源分配:分配的是cpu和内存等物理资源,进程号是进程的唯一标识获取当前进程–子进程异步和同步:1、获取子父进程os.getpid()获取当前进程的父进程os.getppid()为解决Windows系统和Linux系统

2020-08-23 11:55:27 529

原创 Python中socketserver及hashlib校验

socketserver及hashlib校验一、socketserver1、基本写法2、通过socketserver实现循环并发二、haslib1、基本用法2、加盐3、动态加盐4、hmac加密一、socketserver网络协议的最底层就是socket,基于socket模块,又封装了一层,就是socketserver,socketserver是为了实现server端tcp协议的并发1、基本写法server端写法:# 服务端#导入socket模块import socketserver#建立一个

2020-08-17 19:51:31 194

原创 Python网络编程

网络编程一、tcp基本语法二、tcp循环发消息三、udp基本语法四、udp循环发消息五、黏包1、黏包2、struct模块一、tcp基本语法通过套接字socket使服务端和客户端进行通讯,为保证数据完整性,tcp协议需进行三次握手,一次只能和一个客户端进行通讯服务端写法:# 服务端#导入套接字模块import socket#创建socket对象sk=socket.socket()#绑定服务器IP机端口sk.bind(("127.0.0.1",8080))#启用服务端监听状态sk.lis

2020-08-13 20:39:53 342

原创 Python实现ATM小程序

ATM小程序一、项目需求二、项目分析三、项目代码四、项目展示效果(新人如若写的不好望海涵)一、项目需求设计一个ATM存取款机小程序,实现以下功能:1、开卡功能:根据用户的用户名、身份证号、手机号、密码进行开卡,自动生成6位卡号,并卡内存入10元用户名:不能为空,只能为数字字母下划线身份证号:卡死生日年月日部分,不能出现日期以外的数字,18位数字(或+x 19位),一个身份证只能绑定一个卡号手机号:只能按照标准手机号码格式输入密码:固定6位,数字字母下划线卡号:生成卡号不能出现重复2、查询

2020-08-12 23:58:51 3458 1

原创 Python反射

反射一、hasattr二、getattr三、setattr四、delattr针对于类对象或者模块概念:通过字符串去操作类对象或者模块当中的成员(属性或者方法)一、hasattr检测对象/类是否有指定的成员语法:hasattr(类/对象,“成员”)class Man(): passclass Woman(): passclass Son(Man,Woman): def hobby(self): print("打篮球,玩电脑,游泳") def eat(self): print("

2020-08-10 23:41:14 135

原创 Python异常处理

异常处理一、认识异常处理1、IndexError报错2、KeyError报错3、NameError报错4、IndentationError报错5、AttributeError报错6、StopIteration报错7、AssertionError报错二、异常处理的基本语法1、基本语法2、带有分支的异常处理3、处理迭代器异常错误三、主动抛出异常1 、基本语法2、自定义异常类一、认识异常处理程序错误分为两种: 语法错误和异常错误语法错误:代码没有按照python规定语法去写,发明创造产生的错误异常错误:在

2020-08-10 20:44:27 186

原创 Python装饰器

装饰器一、装饰器的基本用法二、装饰器的嵌套三、用装饰器扩展带有参数的原函数四、用装饰器扩展带有参数和返回值的原函数五、用类装饰器来拓展原函数六、带有参数的函数装饰器七、带有参数的类装饰器装饰器:为原函数去扩展新功能,用新函数去替换旧函数作用:在不改变原代码的前提下,实现功能性扩展符号(语法糖):@一、装饰器的基本用法先来看下面这段代码:def extend(func): def newfunc(): print("I have a pen") func() return newfun

2020-08-10 19:01:30 114

原创 Python射击程序

射击程序"机枪扫射声中我们寻找遮蔽的战壕儿时沙雕的城堡毁坏了重新盖就好可是你那沾染血布满弹孔的军外套却就连祷告手都举不好"-------------------------------------------------------《最后的战役》周杰伦...

2020-08-07 00:00:38 666

原创 Python常用魔术方法

魔术方法一、__del__魔术方法(析构方法)二、\_\_str__ 和__repr__魔术方法1、\_\_str__2、\_\_repr__三、__cell__魔术方法四、\_\_bool__、\_\_add__、\_\_len__1、\_\_bool__魔术方法2、\_\_add__(与之相关的__radd__反向加法)3、__len__魔术方法五、与类相关的魔术属性一、__del__魔术方法(析构方法)触发时机:当对象被内存回收的时候自动触发[1、页面执行完毕回收所有变量 2、当多个对象指向同一地

2020-08-06 21:26:52 702

原创 Pyhton多态和单态

多态和单态一、多态二、__new__魔术方法1、基本写法:2、new触发时机快于init3、new和init参数一一对应三、单态模式一、多态不同的子类对象,调用相同的父类方法,产生不同的执行结果。关键字:继承、改写class Soidier(): def attack(self): pass def back(self): pass#陆军class Amry(Soidier): def attack(self): print("[陆军]搏击,射击") def back(se

2020-08-05 21:12:15 414 1

原创 Python常用模块part3

常用模块part3一、OS 对系统进行操作1、system一、OS 对系统进行操作import os (导入os模块)1、system在python中执行系统命令在这里插入代码片

2020-08-04 22:40:54 170

原创 Python继承

继承一、单继承二、多继承1、基本语法2、super用法三、菱形继承(钻石继承)四、init魔术方法一、单继承如果一个类继承另一个类,该类叫做子类(衍生类),被继承的类叫做父类(基类、超类)继承:分为单继承和多继承python中,所有的类都默认继承父类object首先来写一个例子:(1)子父继承后,子类可以继承父类的公有成员class Father(object): hair="黑色" nose="高鼻梁" eyes="大眼睛" __tall="1.74" def f_hobby(se

2020-08-04 20:37:29 341

图书馆里系统静态资源

图书馆里系统static下的文件在这里获取

2020-12-23

空空如也

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

TA关注的人

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