自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Shawn派大星

随笔 : https://www.cnblogs.com/songhaixing/

  • 博客(46)
  • 资源 (7)
  • 问答 (7)
  • 收藏
  • 关注

原创 Web前端开发

前端介绍????Web前端简介HTML????HTML简介????HTML文档结构与标签语法……待更CSS……待更JavaScript????JavaScript简介????JS变量以及基本数据类型介绍????JS数值类型与字符串类型的内置方法????JS运算符介绍????JS流程控制????JS函数????JS常用内置对象之数组Array????JS其他常用对象(Date、Math、JSON、RegExp、global、windows、自定义对象)????随机验证码练

2021-03-13 23:58:23 131

原创 Django分页器

一.分页器简介当数据量非常大时, 我们不可能把所有的数据都放在同一页中, 于是就有了分页的概念, 将数据像书一样每一页规定可容纳多少条数据, 运用到Django中的分页组件, 它其实是Django内置的一个类二.Paginator对象与Page类对象1.如何得到这两个类对象导入分页类from django.core.paginator import PaginatorPaginator类对象# 语法伪代码paginator = Paginator([要分页的数据],[每页显示条数]

2021-03-26 21:31:19 1988

原创 Django与Ajax

一.Ajax简介1.什么是AjaxAJAX(Asynchronous Javascript And XML)翻译成中文就是 “异步Javascript和XML”即使用Javascript语言与服务器进行异步交互,传输的数据为XML当然,传输的数据不只是XML,现在更多使用json数据通俗的讲 : 它是一种创建交互式网页应用的网页开发技术2.Ajax特点异步提交浏览器页面局部刷新 : 这一特点给用户的感受是在不知不觉中完成请求和响应过程3.异步与同步提交同步交互:客户端发出一个请

2021-03-26 21:30:26 1058

原创 CGI、FastCGI、WSGI、uWSGI、uwsgi关系

引入CGI、FastCGI、WSGI、uWSGI、uwsgi是什么 ?之间的关系?一.CGI通用网关接口(Common Gateway Interface/CGI)是外部应用程序与Web服务器之间的接口标准,用来规定一个程序该如何与web服务器程序之间通信CGI程序可以用任何脚本语言或者是完全独立编程语言实现,只要这个语言可以在这个系统上运行用来规范web服务器传输到php解释器中的数据类型以及数据格式,包括URL、查询字符串、POST数据、HTTP header等,也就是为了保证web se

2021-03-26 21:29:15 1546

原创 Django框架之模型层之聚合查询(aggregate)、分组查询(annotate)、F查询、Q查询、Meta元信息、原生SQL、综合练习、Django admin 的使用、补充知识点

十六.聚合查询 aggregate( *args,**kwargs)1.五种聚合函数Avg (Average) : 平均值Max (Maximum) : 最大值Min (Minimum) : 最小值Sum (Summary) : 求和Count : 个数2.aggregate( )aggregate()是QuerySet 的一个终止子句,意思是说,它返回一个包含一些键值对的字典键的名称是聚合值的标识符,值是计算出来的聚合值键的名称是按照字段和聚合函数的名称自动生成出来的如果你想要

2021-03-26 21:28:03 2030

原创 Django框架之模型层之手动创建第三张表、QuerySet对象API、单表操作API、多对多操作API、基于对象(子查询)/基于双下划线查询(连表查询)(正向查询,反向查询)

七.手动创建第三张表1.自动创建(常用)优点 : 第三张表以及对应的外键关联字段不需要书写缺点 : 可扩展性差, 无法对ORM自动生成的中间表进行增加字段的操作注意 : 可以使用ORM提供给多对多关系表操作API以及正方向和双下划线查询第三张表中没有其他字段class Author(models.Model): name = models.CharField(max_length=32,verbose_name='作者名')# 通过ORM自带的ManyToManyField自动创

2021-03-26 21:24:43 309

原创 Django框架之模型层之字段及参数介绍

一.django 测试环境搭建当你只是测试项目中某一个 py 文件内容, 不想去启动整个项目的时候,这时候就可以搭建一个测试环境1.方式一任意创建一个 py 文件, 在该文件内书写固定的配置(可以去manage.py文件中去复制)import osif __name__ == "__main__": os.environ.setdefault("DJANGO_SETTINGS_MODULE", "day06.settings") import django # 加入这两行

2021-03-26 21:18:19 997

原创 Django框架之模板层(inclusion_tag、模板的导入与继承、过滤器、模板标签、模板语法详解)

一.两种模板方法变量相关 : {{ }}逻辑相关 : {% %}二.注释注释是代码之母 : {# #}三.模板语法之传值1.Python中基本数据类型传值def test_func(request): s = "Hello 派大星!" i = 1314520 f = 1.75 l = [1,2,3,4,5] d = {"name":"shawn","age":23} t = (2,3,4,5,5) se = {3,4,5,

2021-03-19 17:26:12 315

原创 Django框架之视图层(CBV源码剖析、FBV、JsonResponse对象、form表单上传文件)

引入视图层是实现业务逻辑的关键层一.三剑客本质HttpResponse、render、redirect视图函数必须要返回一个 HttpResponse 对象, 如果未返回, 会出现如下错误 :提示你没有返回一个 HttpResponse 对象, 而是返回了一个 None为什么必须返回这个对象呢? 我们 Ctrl + 鼠标点击分别查看三者的源码可得到解释# HttpResponse# renderdef render(request, template_name, c

2021-03-18 17:48:31 210

原创 数据增删改查页面搭建

数据增删改查页面需求实现在页面中以表格形式显示数据库所有数据每条数据后边带一个编辑和一个删除选项点击删除, 则删除该条记录, 对应的数据库记录也被删除, 紧接着重新显示更新后的数据表格点击编辑, 则跳转到编辑页面, 对数据进行更新提交后跳转重新显示更新后的数据表格表格的下方设置一个增加按钮点击增加, 跳转到增加页面, 输入增加内容并提交, 紧接着重新显示更新后的数据表格普通版本实现代码urls.py 文件from django.contrib import adminfrom d

2021-03-17 19:22:09 1311 1

原创 Django框架之路由层

一.路由层之路由匹配1.什么是路由路由可以看成是跟在 ip 和 port 之后的地址2.url( ) 方法# 示例urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^login/', views.login_func), url(r'^register/$', views.register_func),]url( ) 方法的第一个参数其实是正则表达式, 一旦第一个参数匹配到了内容直接结束匹配, 并调

2021-03-17 19:21:22 337 1

原创 pycharm 更换 pip 下载源

Pycharm更换下载源更换原因在使用Pycharm的时候不免要下载许多的第三方库, 特别是移植过来的项目更是一个文件的依赖包需要下载而Pycharm默认的官方源下载比较慢, 我们可以通过配置来更换国内下载源靠谱的 pip 镜像源源清华源 : https://pypi.tuna.tsinghua.edu.cn/simple豆瓣源 : http://pypi.douban.com/simple/阿里源 : http://mirrors.aliyun.com/pypi/simple/

2021-03-17 15:48:03 7100 1

原创 django ORM 表关系与Django 请求生命周期流程图

一.表与表之间的关系1.三种对应关系一对多一对一多对多2.表关系判断得出表关系结论需要双向进行观察对比(换位思考)3.表关系举例书籍表 : books出版社表 : publish作者表 : author作者介绍表 : author_info一本书可以对用多位作者, 一位作者可以对应多本书 (多对多)一本书只能有一个出版社, 一个出版社可以出版多本书 (一对多)一位作者对应一个作者简介,一个作者简介对应一位作者 (一对一)4.ORM 针对外键字段的创建位置

2021-03-16 19:04:56 227

原创 django ORM 简介

一.django ORM 简介1.什么是ORMORM : 全称 object relational mapping, 对象关系映射功能 : 通过orm实现使用操作对象的方式来操作数据库中的数据目的 : 就是为了能够让不懂SQL语句的人通过python面向对象的知识点也能够轻松自如的操作数据库缺陷 : sql 封装死了, 有时候查询速度很慢2.ORM与数据库的映射关系ORM DB 类 --------------------> 表对象

2021-03-16 16:53:24 7331 1

原创 Python与django连接数据库

一.pycharm 链接数据库点击Database点击+号添加下载驱动测试失败示例测试成功示例查看链接后的数据库二.django 链接数据库django 默认使用的数据库是自带的 SQLkite3, 功能比较少, 兼容性不够, 我们需要使用 mysql 将其替换1.对setting.py 文件中的 DATABASES 参数进行修改# 默认的数据库配置 : DATABASES = { 'default': { 'ENGINE':

2021-03-16 16:52:43 779 1

原创 静态文件配置与request对象简介

一.静态文件配置1.什么是静态文件静态(static)文件, 写好之后就不会自动改变的文件资源 :写好的CSS文件写好的JS文件图片文件第三方框架文件2.创建静态文件我们默认将所有的静态文件都放在一个static文件夹内django默认是不会自动帮我们创建static文件夹,需要我们手动创建static目录下基本还会在分几个文件夹:static/ |---- js |---- css |---- img |---- 第三方文件资源(b

2021-03-16 16:52:05 265

原创 创建django项目(setting配置,创建app,HttpResponse,render,redirect)

一.django框架注意事项计算机名不能有中文(老外写的,不支持中文)(我的电脑—>属性---->计算机名进行设置)项目名和 py 文件最好不要使用中文一个 pycharm 最好只打开一个项目python 解释器最好使用 3.4~3.6 之间版本(否则项目出错, 下面讲解排错)django版本问题 1.x、2.x、3.x, 一般选1.x版本二.django版本问题LTS: 全称 Long Term Support 官方维护的版本, 也就是稳定版本版本推荐: 1.8(2

2021-03-14 19:10:50 699

原创 纯手撸 Web 框架与 django 必备三剑客

引入由上一篇 HTTP 协议的介绍我们知道, 想要浏览器能访问到服务端的数据就必须按照 HTTP 协议来收发数据, 那么接下来我们就开始为所要发送的消息加上相应状态行, 实现一个合格的Web框架先摆上请求数据格式好做对比# 请求首行b'GET / HTTP/1.1\r\n # 请求头 (下面都是,一大堆的K:V键值对)Host: 127.0.0.1:8080\r\n Connection: keep-alive\r\nCache-Control: max-age=0

2021-03-13 23:44:44 436

原创 Web框架的本质与HTTP协议

引入在学习 Django 框架之前我们得先了解 Web 框架的本质是什么, 以及 HTTP 协议的原理一.软件开发架构C/S 指的是客户端软件(client)—服务端软件(server)B/S 指的是浏览器(Browser)------服务端软件(server)ps : B/S 的本质就是 C/S二.Web框架的本质所有的Web应用其实就是一个socket服务端, 而用户使用的浏览器就是一个socket客户端程序, 明白了Web矿建的本质, 我们就可以实现自己的Web框架了1.自定义简单

2021-03-13 23:43:36 165

原创 随机验证码练习

效果图没点击刷新,就会出现随机码 随机验证码 <!DOCTYPE html><html><head> <title>随机验证码</title></head><body> <script type="text/javascript"> //获取最大到最小之间的数 function random(min,max){ return Math.floor

2021-03-11 22:59:23 509

原创 JS之global对象的编码和解码方法

URLvar url = 'https://www.luffycity.com/study/chapter/39863/2'编码encodeURIComponent()编码 (使用最多的方法)encodeURI(url) (只能编码空格)console.log(encodeURI(url)); // 只能编码空格console.log(encodeURIComponent(url));解码decondeURIComponent()console.log(decodeURI(enco

2021-03-11 22:29:09 299

原创 JS之自定义对象

引入JavaScript的对象(Object)本质上是键值对的集合(Hash结构),但是只能用字符串作为键。创建自定义对象你可以看成是我们python中的字典 但是js中的自定义对象要比python里面的字典操作起来更加的方便// 第一种创建自定义对象的方式let d1 = {'name': 'shawn', 'age': 18};console.log(typeof d1); // objectconsole.log(d1['name']); // shawn(获取对象方式一)

2021-03-11 22:28:15 167

原创 JS之windows对象

在ECMAScrip中顶层对象就是window对象// 定义变量时var a=3;console.log(window.a); // 3// 定义函数时function hello(){ alert(window.a); // 3}window.hello();

2021-03-11 22:16:10 187

原创 JS之RegExp对象(正则对象).

常用匹配模式g (全局匹配,找到所有匹配,而不是在第一个匹配后停止)i (忽略大小写)注意正则放到引号内{ } 内的逗号后面不要加空格// 创建正则对象方式 1 var reg1 = new RegExp("^[a-zA-Z][a-zA-Z0-9_]{5,11}$"); // 匹配用户名只能是英文字母、数字和_,并且首字母必须是英文字母, 长度最短不能少于6位, 最长不能超过12位。reg1.test("shawn_1111") // true// 创建正则对象的方

2021-03-11 22:15:26 331

原创 JS之JSON对象

JSON格式的字符串转成对象var str1='{"name":"shawn","age":23}';var obj1=JSON.parse(str1);console.log(obj1.name); // "shawn"console.log(obj1["name"]); // "shawn"将对象转成JSON格式var obj = {"name":"shawn","age":23};var str = JSON.stringify(obj);...

2021-03-11 22:14:27 93

原创 JS数学对象Math

一.Math对象常用方法法含义Math.floor()向下取整,如5.1取整为5Math.ceil()向上取整,如5.1取整为6Math.max(a,b)求a和b中的最大值Math.min(a,b)求a和b中的最小值Math.random()随机数,默认0-1之间的随机数,若想求min~max之间的数,公式为:min+Math.random()*(max-min)abs(x)返回数的绝对值exp(x)返回 e 的指数log(x)

2021-03-11 22:13:40 142

原创 JS日期对象Date

一.创建日期对象创建日期对象只有构造函数一种方式,使用new关键字// 不指定参数,默认当前时间var now = new Date();console.log(now);// Thu Mar 11 2021 21:17:51 GMT+0800 (中国标准时间)var xmas = new Date('December 25,1995 13:30:00');console.log(xmas); // Mon Dec 25 1995 13:30:00 GMT+0800 (中国标准时间)v

2021-03-11 21:25:11 110

原创 JS 函数

一.函数定义用来封装你的重复性代码在 Python 中定义函数使用 def 很关键字在 js 中使用 function 定义函数// 语法 function [函数名](形参1,形参2,形参3...){ [函数体代码];}无参函数// 定义无参函数function func1(){ alert("Hello world");}// 调用func1(); // "Hello world"有参函数// 定义有参函数function func2(

2021-03-11 20:39:27 101

原创 js 常用内置对象之数组(Array)

一.常用内置对象JavaScript 中所有的事物都是对像 : 字符串、数值、数组、函数…对象就是带有属性和方法的特殊数据类型示例一var food = '牛羊的肉';function 老虎(){ alert('吃' + food);}function 企鹅(){ alert('也吃'+ food);}老虎(); // 老虎吃牛羊的肉企鹅(); // 企鹅也吃牛羊的肉示例二//对象(属性和方法), 创建一个对象 : 姓名、年龄、性别、爱好(动作)var perso

2021-03-10 23:50:12 364

原创 JS数值类型与字符串类型的内置方法

一.Number 数值类型JavaScript 中不区分整形和浮点型, 只有一种数字类型 : Numbervar a = 3;var b = 3.3;var c = 2e2; // 200var n = NaN; // number 类型, 表示的是"不是一个数字(NOT a number)"使用 typeof 查看数据类型typeof(a); // "number"typeof(b); // "number"typeof(c); // "number"typeof(d);

2021-03-09 23:34:07 152

原创 JS流程控制

一.if … else if … else1.if … elsevar height = 180;if(height > 175){ console.log("OK");}else { console.log("NO");}2.if … else if … elsevar weather = 'sunny';if(weather === 'sunny'){console.log('天气很好,出去玩');}else if(weather ==='rainy'){

2021-03-09 23:32:15 116

原创 JS运算符介绍

一.算数运算符+ : 加- : 减* : 乘/ : 除% : 取余++ : 自增-- : 自减var x = 5;var y = 3;var sum = x + y;var sum2 = 4 + 5 + sum;var en = x - y;var or = x * y;var or2 = x * y * sum;//取余var op = x % y;alert(sum2)alert(or)alert(op)alert(or2)var c = x + sum

2021-03-09 23:31:33 268

原创 JS变量以及基本数据类型介绍.

一.JavaScript引入方式1.script内部引入<script type="text/javascript"> //编写js代码 alert('I am 派大星'); alert('Hello?')</script>2.引入外部 JS 文件<script type="text/javascript" src="JS外部文件XXXX.js"></script>二.JavaScript 语法规范1.注释//单行注释/*

2021-03-09 23:29:55 150

原创 JavaScript简介

JavaScript 的起源故事JavaScript 的设计思想ECMAScript 和 JavaScript 的关系1996年11月,JavaScript的创造者–Netscape公司,决定将JavaScript提交给国际标准化组织ECMA,希望这门语言能够成为国际标准次年,ECMA发布262号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为ECMAScript,这个版本就是1.0版该标准一开始就是针对JavaScript语言制定的,但是没有称其为JavaScr

2021-03-09 21:12:39 135

原创 HTML文档结构与标签语法

引入在上一篇我们介绍了HTML是一种超文本标记语言, 主要负责编辑文本结构和文本内容, 以便浏览器能正常显示, 浏览器的解析顺序自上而下, 下面对HTML的文档结构展开介绍Pycharm中输入 : html:5 + Tab 或者 ! + Tab<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title&gt

2021-03-09 21:11:44 161 1

转载 Mysql最新面试题大厂必备,独家收藏

MySQL 面试题收藏1、能说下myisam 和 innodb的区别吗?myisam引擎是5.1版本之前的默认引擎,支持全文检索、压缩、空间函数等,但是不支持事务和行级锁,所以一般用于有大量查询少量插入的场景来使用,而且myisam不支持外键,并且索引和数据是分开存储的。innodb是基于聚簇索引建立的,和myisam相反它支持事务、外键,并且通过MVCC来支持高并发,索引和数据存储在一起。2、说下mysql的索引有哪些吧,聚簇和非聚簇索引又是什么?索引按照数据结构来说主要包含B+

2021-03-06 10:50:52 159

转载 Python面试题最新详细答案,独家收藏

Python面试题收藏转载 来自:https://www.zhihu.com/question/54513391/answer/9456462051、谈谈对 Python 和其他语言的区别?**答:**Python 是一门语法简洁优美,功能强大无比,应用领域非常广泛,具有强大完备的第三方库,他是一门强类型的可移植、可扩展,可嵌入的解释型编程语言,属于动态语言。**和Java相比:**Python比Java要简单.Python是函数为一等公民的语言,而Java是类为一等公民的语言.Python是弱类

2021-03-06 00:25:01 950

原创 HTML简介(HTMl发展史、HTML5与XTML的区别)

一.什么是 HTML用户使用浏览器打开网页看到结果的过程就是 : 浏览器将服务端的文本文件(即网页文件)内容下载到本地,然后打开显示的过程为了让显示的效果不那么单调,我们会偏向使用word一类的文本编辑工具来编排文本内容,编排的原理就是 : 在编辑文件时会选中各部分内容,然后为内容打上不同的标记,比如什么是标题,什么是段落,然后存放硬盘里,等下次打开时,word会识别之前的标记,然后按照预先编排好的结果显示出来站在显示文本内容的角度去看,浏览器与word的原理一样,我们可以将浏览器当成一个网

2021-03-04 09:44:48 1235 1

原创 前端介绍(前端的发展史)

一.前端的演变1.web1.0时代的网页制作网页制作是web1.0时代的产物,那个时候的网页主要是静态网页,所谓的静态网页就是没有与用户进行交互而仅仅供读者浏览的网页,我们当时称为“牛皮癣”网页例如一篇QQ日志、一篇博文等展示性文章; 在web1.0时代,用户能做的唯一事情就是浏览这个网站的文字图片内容,这时用户也不能像现在在大多数网站都可以评论交流(缺乏交互性)相信可能大多数人都听过“网页三剑客 Dreamweaver+Fireworks+Flash”吧,这个组合就是web1.0时代额产物2

2021-03-04 09:41:54 3081 1

原创 老司机都知道的Python项目打包exe程序方法

pyinstaller 如何打包一个项目在前面一篇介绍 pyinstaller 工具的时候我们仅仅只是介绍了将单个文件制作成 exe 程序 : ????用Python工具Pyinstaller制作exe应用程序 , 接下来我们将介绍如何将一个项目制作成 exe 程序, pyinstaller 还没有安装建议查看上面的连接-D 参数以我的项目作为示例展开介绍参数参数全称参数说明-D–onedir打包多个文件,在dist中生成很多依赖文件,适合以框架形式编写工具代码,该方式代码

2021-03-03 00:21:08 461

psycopg2_zip.zip

python3.5里面

2021-07-09

ftp客户端服务端.zip

有客户端和服务端两个程序, 支持正则匹配文件名是否规范, 支持上传下载, 支持动态更换ip和端口, 支持进度条显示

2021-01-19

socket 实现cs通信.zip

socket 实现cs通信, 有客户端和服务端

2021-01-15

随机删除一半文件,灭霸程序.zip

灭霸的响指, 输入文件夹路径, 将该文件下和子文件夹下所有的文件随机删除一半

2021-01-14

银行基本功能.zip+exe,直接可运行

银行基本功能.zip+exe,直接可运行

2020-12-19

博客园美化.zip,含HTML+js+css代码

博客园美化代码

2020-12-19

atm_12_18.zip

ATM+购物车功能实现+管理员系统

2020-12-19

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

TA关注的人

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