自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Challen_moon Book

大胆,竟敢看我博客!@#¥%

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

原创 常用设计模式Python

设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。一、设计模式分类经典的《设计模式》一书归纳出23种设计模式,这23种模式又可归为,创建型、结构型和行为型3大类1.创建型模式分类社会化的分工越来越细,自然在软件设计方面也是如此,因此对象的创建和对象的使用分开也就成为了必然趋势。因为对象的创建会消耗掉系统的很多资源,所以单独对对象的创建进行研究,从而能够高效地创建对象就是创建

2020-07-05 15:55:57 232

原创 数据库之DCL:管理用户、授权

DCL:管理用户、授权1.管理用户1.添加用户:语法:CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';2.删除用户语法:DROP USER '用户名'@'主机名';3.修改用户密码:UPDATE USER SET PASSWORD('新密码') WHERE USER = '用户名';UPDATE USER SET PASSWORD('abc') WHERE USER = 'cainiao';SET PASSWORD FOR '用户名'

2020-07-02 01:04:39 125

原创 Django REST framework框架知识点总结

1.Web应用模式在开发Web应用中,有两种模式:1.1前段后端不分离(耦合度高,比较适合纯网页的应用)在前后端不分离的应用模式中,前端页面看到的效果都是由后端控制,由后端渲染页面或重定向,也就是后端需要控制前端的展示,前端与后端的耦合度很高。应用场景分析:这种应用模式比较适合纯网页应用,但是当后端对接App时,App可能并不需要后端返回一个HTML网页,而仅仅是数据本身,所以后端原本返回网页的接口不再适用于前端App应用,为了对接App后端还需再开发一套接口。1.2前段后端分离(耦合度低,前

2020-07-01 18:03:33 294

原创 pycharm搭建远程开发部署环境

pycharm搭建远程开发部署环境一、设置Deployment打开 Tools ---- Deployment ---- Configuration点击左上角 “加号” ,选择SFTP,输入名称,点击OK在Connection一栏中输入如下配置Host(主机ip)、User name、 Password(勾选保存密码),Test Connection成功后进入下一步在Mappings一栏下选择Deployment path文件目录(选择远程项目文件夹),双...

2020-09-22 20:26:21 315

原创 老妈叫下广场舞视频,想用python转换下视频格式flv转换为mp4

首先下载B站的广场舞视频cmd 利用you-get直接下载# -*- coding:utf-8 -*-# time: 2020/9/22--20:04#__author__ = 'challen' import requests, time, urllib.request, re, osfrom moviepy.editor import *import os, sys, threading, json import imageio imageio.plugins...

2020-09-22 20:09:58 813 1

原创 随笔1.1之银行测试用例

在编写案例之前,首先先理解该交易对应的需求,把握交易中基本业务流以及备选流。其中基本业务流主要是看该交易的基本功能是否已正确实现;备选流是看涉及到选输项连带出异于基本流的交易页面,以及一些反例的情况。然后根据交易类型或者交易代码来划分大的场景,在大场景下,根据交易类型来划分小的场景。若小场景下还涉及到对应的关联关系,再根据关联关系来细化。最后根据划分的大小场景,根据所对应的需求,加之一些测试案例的编写方法来编写案例。  一般系统中的栏位大致可以分为:1、输入项;2、选输项;3、跳过项;4、回显项;5、选择

2020-08-10 00:50:20 2410

原创 ActionChains简洁用法

ActionChains  UI自动化测试过程中,经常遇到那种,需要鼠标悬浮后,要操作的才会元素出现的这种场景,那么我们就要模拟鼠标悬浮到某一个位置,做一系列的连贯操作,Selenium给我们提供了ActionChains模块。引入方式from selenium.webdriver.common.action_chains import ActionChainsmove_to_element# 鼠标移动到某一个元素上,结束elementObjActionChains(driver)

2020-07-24 00:21:41 639

原创 linux 查看端口状态非常简单

netstat -tunlp 查询所有端口号及状态netstat -tunlp | grep 端口号是查看所查询的端口号情况netstat -tunlp各个参数说明如下:-t:(tcp)仅显示TCP相关端口-u:(udp)仅显示UDP相关端口-n:不进行DNS轮询,显示IP(可以加速操作)-l:仅列出有在Listen(监听)的服务端口-p:显示建立相关链接的程序名...

2020-07-13 09:42:34 197

原创 Django中{% for %}标签内部模板变量forloop

{% for %}标签内部模板变量forloop

2020-07-06 16:06:04 190

原创 Django中MVC模型与MTV模型

MVC 模型MVC 模式(Model–view–controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。MVC 以一种插件式的、松耦合的方式连接在一起。模型(M)- 编写程序应有的功能,负责业务对象与数据库的映射(ORM)。视图(V)- 图形界面,负责与用户的交互(页面)。控制器(C)-负责转发请求,对请求进行处理。简易图:用户操作流程图:MTV 模型Django 的 MTV 模式

2020-07-06 15:07:21 377 1

原创 Git 基本使用及工作流程详解

以下使用的是 Git-2.18.0-64-bit.exe 客户端,以下经过了试验,所有带$的是git执行语句,紧接着是执行后的结果显示Git 用户信息配置# 设置全局用户名和邮箱$ git config --global user.name "xxx"$ git config --global user.email "[email protected]"从远程仓库获取目录# 在已经有远程仓库的情况下使用,比如新入职一家公司## 进入一个文件夹,用于放置clone下来的代码$ cd test## 把远

2020-07-03 13:44:51 112

原创 git简介工作流程

git 工作流程一般工作流程如下:1、git clone 克隆远程资源到本地目录,作为工作目录;2、然后在本地的克隆目录上添加或修改文件;3、如果远程修改了,需要同步远程的内容,直接git pull就可以更新本地的文件;4、本地在修改之后,可以通过git status 查看修改的文件。然后使用git add 添加修改的文件暂到缓冲区;5、在添加之后,可以使用git commit添加到当前的工作区;6、在修改完成后,如果发现错误,可以撤回提交并再次修改并提交;7、g

2020-07-03 13:34:06 106

原创 数据库的设计与操作(二)

数据库的设计1.多表之间的关系1.一对一(了解) 如:人和身份证分析:一个人只有一个身份证,一个身份证只能对应一个人----------------------------------------------------------------------------------------------------------------------------------------------------2.一对多(多对一): 如:部门和员工分析:一个部门有多个员工,一个员工只能对应一个部

2020-07-02 00:57:36 149

原创 数据库的操作原理(一)

1.SQL 的概念Structured Query Languange:结构化查询语言其实就是定义了操作所有关系型数据库的规则。每一种数据库操作的方式存在不一样的地方,称为“方言”。2.SQL通用语法SQL语句可以单行或多行书写,以分号结尾。可使用空格和缩进来增强语句的可读性。MySQL数据库的SQL 语言不区分大小写,关键字建议使用大写。注释单行注释: – 注释内容 或 # 注释内容(mysql特有)多行注释: /注释/3.SQL分类1.DDL(Data Definition

2020-07-02 00:37:53 326

原创 Linux常用命令综合总结

最近整理下Linux常用命令,懒得记住,总结一下,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大。我将我了解到的命令列举一下,仅供大家参考:系统信息arch 显示机器的处理器架构uname -m 显示机器的处理器架构uname -r 显示正在使用的内核版本dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)hdparm -i /dev/hda 罗列一个磁盘的架构特性hdp

2020-07-01 17:33:24 419

原创 Django的objects.get和objects.filter两者方法与区别

一. django get方法和filter方法详解1.django的objects.get()方法:django的get是从数据库的取得一个匹配的结果,返回一个对象,如果记录不存在的话,它会报错。比如我数据库里有一条记录,记录的name的值是"django"的话,我用student = Student.objects.get(name=‘django’),返回的是一个记录对象,你可以通过student.dict来查看,它返回的是一个字典的形式,{‘key’:valeus},key是字段的名称,而v

2020-06-29 13:26:28 244

原创 Django: URL重定向的HttpResponseDirect, redirect和reverse的用法详解

利用django开发web应用,我们经常需要进行URL重定向,有时候还需要给URL传递额外的参数。比如用户添加文章完成后需要转到文章列表或某篇文章详情。因此熟练掌握HttpResponseDirect,redirect和reverse这三种方法对于Django Web开发是至关重要。以下是DjangoURL重定向的HttpResponseDirect, redirect和reverse方法的详细用法。HttpResponseDirect方法HttpResponseRedirect是django.

2020-06-28 23:00:22 747

原创 Django model 字段类型及选项解析1.1

字段类型选择:AutoField(Field) - int自增列,必须填入参数 primary_key=TrueBigAutoField(AutoField) - bigint自增列,必须填入参数 primary_key=True注:当model中如果没有自增列,则自动会创建一个列名为id的列from django.db import modelsclass UserInfo(models.Model): # 自动创建一个列名为id的且为自增的整数列 user

2020-06-19 19:09:32 142

原创 CSRF token的原理

简介django为用户实现防止跨站请求伪造的功能,通过中间件 django.middleware.csrf.CsrfViewMiddleware 来完成。而对于django中设置防跨站请求伪造功能有分为全局和局部。全局:中间件 django.middleware.csrf.CsrfViewMiddleware局部:@csrf_protect,为当前函数强制设置防跨站请求伪造功能,即便settings中没有设置全局中间件。@csrf_exempt,取消当前函数防跨站请求伪造功能,即便setti

2020-06-16 15:29:34 241

转载 google浏览器--问题解决(chrome)不能登录,不能同步@

网上搜会发现就是那几个添加什么规则什么条件的方法,又臭又硬还不管事,对我们这种不是专业出身的人根本看不懂也学不来,我偶然发现有一个极其简单的方法~1下载链接: https://pan.baidu.com/s/1GgRIvLSN2muPxMY6RXsuRQ 提取码: 8ct4这是一个chrome插件,.crx格式被我改成.rar(搞了半天chrome没有弄好的你肯定知道这是要从解压安装包安装插件),你只需要打开扩展程序截面,点击加载已解压的扩展程序就可以安装好如下图所示的插件当天更新!如果插件不能

2020-05-26 16:03:05 1938

原创 安装mysqlclient报错Check the logs for full command output.

在虚拟环境中安装mysqlclient 1.3.13版本时报错,从中我们可以看出原因时因为Microsoft visual c++ 14.0解析包不存在,所以无法安装成功。然后我们就需要去这个网址https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient查找到自己要安装的包然后选择python的版本和自己电脑是32位还是64位,下载之后,在终端进入到要安装包的虚拟环境,然后输入pip install 此处填写你下载的文件的目录加文件名,点击回

2020-05-21 01:38:10 3088

原创 使用ORM的原理

了解orm,先了解以下概念:什么是“持久化”持久(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的数据存储在关系型的数据库中,当然也可以存储在磁盘文件中、XML数据文件中等等。什么是 “持久层”持久层(Persistence Layer),即专注于实现数据持久化应用领域的某个特定系统的一个逻辑层面,将数据使用者和数据实体相关联。什么是ORM即Object-RelationlMapping,它的作用是在关系型数据库

2020-05-20 16:10:43 199

原创 Html 的语法,结构和常用标签

Html介绍是Hyper Text Markup language(超文本标记语言)的缩写不是一种编程语言,而是标记语言语法双标签:<标签名></标签名>单标签: <标签名/>元素和属性<标签名 属性名=属性值>元素</标签名><标签名属性名=属性值/>Html结构<!DOCTYPE html><html lang="en"><head> &lt

2020-05-14 20:07:14 176

原创 问题解决:进入DjangoAdmin模块时,TypeError: 'set' object is not reversible

问题:进入DjangoAdmin模块时,TypeError: ‘set’ object is not reversibleDjango进入Admin模块时候,访问http://127.0.0.1:8000/User/reverse报错了!问题解决方式:urls.py文件里面的 { } 改为 [ ] 就好了例如将urlpatterns = { path('admin/', admin.site.urls), path('User/',include(('User.urls','U

2020-05-13 19:09:34 554

原创 查看自己电脑的IP地址具体方法

查看自己电脑的IP地址具体方法如下:1、首先点击Windows图标2、然后在对话框中输入CMD,按下回车3、等进入命令回窗口之后,输入:ipconfig/all ,按下回车即可看到着整个电脑的ip详细信息方法21、首先,点击Windows图标2、其次在框内输入控制面板,并按下回车3、在新界面中点击“查看网络状态和任务”4、再点击已链接的网络5、再点击“详细信息”6、最后我们就可以看到网络的详细IP配置信答息了...

2020-05-13 14:40:37 354

原创 V2char视频,图片输出字符画

V2char视频,图片输出字符画import sysimport osimport timeimport threadingimport cv2import pyprind# 基类class CharFrame: ascii_char = "$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. " # 像素映射到字符 def pixelToChar(sel

2020-05-13 13:37:08 208

原创 设计一个装饰器,作用于任何函数上,打印函数执行时间

设计一个装饰器,作用于任何函数上,打印函数执行时间import timedef metric(fn): # 匿名函数 def execute_time(*args,**kwargs): #起始时间 start_time = time.time() #外部传入的参数(函数传参) l=fn(*args,**kwargs) #结束时间 end_time = time.time() p

2020-05-13 13:35:01 968

原创 Student类增加一个类属性,每创建一个实例,该属性自动增加

Student类增加一个类属性,每创建一个实例,该属性自动增加:class Student (object): count = 0 def __init__(self, name): self.name = name Student.count += 1 def card_grade(self): print ('A')stu1 = Student ('xiaozhong')stu2 = Student ('xiaomin

2020-05-13 13:33:36 1545

原创 列表生成器generator object

-使用 () 创建列表生成器L = (k + '=' + v for k, v in d.items())print(L)a=('%s%s'%(m,n) for m in 'abc' for n in '123')print(a) 打印结果如下<generator object <genexpr> at 0x1052ec2b0><genera...

2020-05-08 00:53:47 512

原创 python教你模拟实现ATM银行自动存取款机

示例:''' By challen 自动存取款机管理系统 登陆login user 1.查询余额 2.存款操作 4.取款操作 5.退出用户'''#三个用户的账号信息作为数据源,用户信息包含:密码,姓名,余额,用户等级bank_database= [ {'id':'1001','user_password':'200101',...

2020-05-05 00:22:23 7972 1

原创 统计制定目录下文件大小

统计制定目录下文件大小#导入osimport os#定义函数def dir_count(dir): #设定一个变量,起始值 total_dir=0 #判断文件还是文件夹 #如果是文件,直接进行统计 if os.path.isfile(dir): total_dir+=os.path.getsize(dir) #如果是文件夹,需...

2020-05-04 14:25:31 224

原创 for in循环打印四种9x9乘法

for in循环打印四种9x9乘法第一种效果图代码如下#第一种效果图for x in range(1,10): for y in range(1,x+1): print('{}*{}={:<4} '.format(y,x,x*y),end='') print(' ')print('='*86)第二种效果图代码如下:#第二种效果图...

2020-05-02 12:38:33 237

原创 **python读取txt文件的时候报错UnicodeDecodeError: 'gbk' codec can't decode byte 0x98 in position 30: illegal m

**python读取txt文件的时候报错出现下列情况做下列修改,可继续执行读取命令:#读取文件按照字符f=open(r"./阿里云-第一章.txt",‘r’,encoding=“utf-8”)content=f.read(10000)print(content)f.close()...

2020-04-28 14:09:23 187

空空如也

空空如也

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

TA关注的人

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