10 2019 档案
摘要:BBS表设计 项目开发流程: 开始讲表的关系。 一共有 7 张表: 1、用户表 用户表和个人站点表示一对一的关系 2、个人站点表 3、文章标签表 标签与个人站点一对多 4、文章分类表 分类与个人站点一对多 5、文章表 文章和个人站点是一对多关系 文章和标签是多对多关系 文章和
阅读全文
摘要:说白了就是想做到想 注释中间件一样,存在的时候,全局都会走那个中间件,不要用的时候注释掉,除了不实现那个功能之外对全局都不会有影响。 这就是 可插拔式设计 。 首先讲解一个模块 importlib 这个模块的作用:以字符串的形式导入模块 接下来就可以讲一下可插拔式设计了。 现在我想有三种通知方式,短
阅读全文
摘要:auth模块 首先要讲一点,要用就要用全套,而不是用一部分,然后自己写一部分。 我们在创建表的时候,它会同时创建出很多乱七八糟的表,登录django后台管理的用户就存在这些表中的一个,也就是 auth_user 里面。 在使用auth模块之前,当然要先导入了。 auth 模块并没有什么原理可讲,所以
阅读全文
摘要:django中间件 还记得我们之前发送post请求的时候,会报错,都需要在发送请求之前把 settings 的中间件中的一条给注释掉。 来看一下之前的 django 请求生命周期图 这张图还可以这么画 中间件被放大了来看,我们默认的中间件有七个,我们之前都是吧第四个给注释掉。从这个图的流程来看,浏览
阅读全文
摘要:跨站请求伪造(scrf) 听说过钓鱼网站吗? 就类似于你搭建了一个跟银行一模一样的web页面 用户在你的网站转账的时候输入用户名 密码 对方账户 银行里面的钱确实少了 但是发现收款人变了 原理: 解决钓鱼网站的策略: 所以!! 那个被我们注释掉的中间件,就是用来校验你有没有这个随机字符串的。 这就是
阅读全文
摘要:什么是cookie cookie是保存在浏览器上的键值对 为什么会有cookie和session? 因为http协议是无状态的,没有办法记住用户是谁,是谁登录了,试想一下,当你在淘宝上看了一下午,加入了很多东西在购物车,第二天起来登录一看,发现全没了,因为浏览器根本不知道你是谁,所以就有了cooki
阅读全文
摘要:介绍几个基础数组统计方法: 1、 sum():沿着轴向计算所有原色的累和,0长度的数组累和为0 2、mean():求数学平均,0长度的数组平均值为NaN 3、cumsum():从0 开始元素累积和 4、cumprod():从1开始元素累积积 axit这个参数很重要,如果不写的话就会把你的结果变成是一
阅读全文
摘要:这一章就讲解 numpy.where 函数。 他是三元表达式 的向量化版本。 三元表达式: x if condition else y 在 cond 中的元素为 True 时,我们取 xarr 中对应的元素值,反之取 yarr 中的元素,可以通过列表推导式来完成,如下 这样会产生多个问题,首先如果数
阅读全文
摘要:使用数组进行面向数组编程 使用 NumPy 数组可以使你利用简单的数组表达式完成多种数据操作人物,而无需写大量的循环,这种利用数组表达式来代替显式循环的方法,称为 向量化 。 通常,向量化的数组操作会比纯Python的等价实现在速度上快一到两个数量级,甚至更多。 meshgrid 函数 一句话解释
阅读全文
摘要:在上一篇的数组转置和换轴之中,换轴的时候书本上用到了 transpose 这个方法,然后数组就莫名其妙的发生了变化,而且根本让人看不懂。于是我就去百度了很久关于 transpose 函数的用法。 总结了以下心得。 一开始我以为 transpose方法只是单纯的把三维数组的每个基层元素的x和y对调了以
阅读全文
摘要:通用函数也可以称为 ufunc, 是一种在 ndarray 数据中进行逐元素操作的函数。某些简单函数接受了一个或者多个标量数值,并产生一个或多个标量结果,而通用函数就是对这些简单函数的向量化封装。 有很多 ufunc 是简单的逐元素转换,比如 sqrt 和 exp 函数: 这些就是所谓的一元通用函数
阅读全文
摘要:转置是一种特殊的 数据重组形式,可以返回底层数据的视图而不需要复制任何内容。数组拥有transpose方法,也有特殊的 T 属性: 关于数组的换轴,在下一篇博客有详解。
阅读全文
摘要:神奇索引 为了选出一个符合特定顺序的子集,可以简单的通过传递一个包含指明所需顺序的列表或数组来完成: 打印结果: 也可以通过负的索引来。就不写上栗子了。 传递多个索引数组时,情况有些不同,这样会根据每个索引元组对应的元素选出一个一维数组 打印结果: 在上面的栗子中,元素(1,0)、(5,3)、(7,
阅读全文
摘要:form组件 这里抛出一个问题 校验: 1.注册功能 用户输入的用户名中 不能包含‘xxx’ 如果包含了 就提示用户 输入的内容不符合社会主义核心价值观 用户输入的密码 不能小于三位 如果密码少于三位 提示用户 密码太短了 校验数据通常是前后端都有校验 但是前端校验可有可无 哪怕再牛逼 后端也必须要
阅读全文
摘要:创建多对多表关系的三种方式 在我们之前创建多对多表的时候,一直用的都是全自动的方式来创建第三张表的。 好处坏处都很明显,好处就是方便,坏处就是老板叫你加个字段你就炸了。 这个就不用说了,连django存在的意义都没了,好多方法都不能用。 半自动也是最推荐使用的,虽然他不支持了那四个方法,但好在那四个
阅读全文
摘要:代码推导的过程冗长,不予陈述。直接讲用法。 推导出来的分页器(功能不完美)
阅读全文
摘要:批量插入数据 当我们想要批量得向数据库插入数据的时候,该怎么做?按照之前的思想,应该会有以下代码。在Django中需要向数据库中插入多条数据(list)。使用如下方法,每次save()的时候都会访问一次数据库。导致性能问题: 没事,也就走了大概一千次数据库吧。耗时长的不得了,所以要如何才能优化这个代
阅读全文
摘要:ajax传送文件 ajax传文件需要注意的事项 1、利用formdata对象 能够简单的快速的从前端传输数据 (普通键值 +文件),这就是阿贾克斯的优势了。不用分开传了。 2、有几个参数 : 1.data:formdata对象 2.contentType:false 3.processD
阅读全文
摘要:前后端在做数据交互的时候 一定一定要表明你所发的的数据到底是什么格式 前段后交互 你不能骗人家,不然后端开发人员来找你的时候会抄着一根凳子腿。 你的数据时什么格式 你就应该准确无误告诉别人是什么格式 那么怎么告诉后端你要发送的数据的格式是什么呢 form 表单是通过 他的 enctype 而 aja
阅读全文
摘要:ajax语法结构 特点: Ajax是一门js的技术 基于原生js开发的,但是用原生的js写代码过于繁琐 我们在学的时候 只学如何用jQuery实现ajax AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。 (这一特点给用户的感受是在不知不觉中完成请求和响应
阅读全文
摘要:数据传输编码模式的解析 urlencoded 还记不记得之前讲过的用 form 表单传送文件,我们需要去改变一个表单的参数,enctype参数,默认的时候是 urlencoded 模式,想一下,前端页面发送给后端的数据是什么类型的?是字典?还是字符串?或者是类似于关键字参数那样的的 username
阅读全文
摘要:choice参数 choices = ( (1,'male'), (2,'female'), (3,'others') ) gender = models.IntegerField(choices=choices) """ 1.如果我存的是上面元组中数字会怎么样 2.如果我存的数字不在元组范围内又会
阅读全文
摘要:这是面试常问点 only 和 defer only 我们想要查询数据的时候,会用 all ,拿到所有对象,并且所有的字段都在对象里面。 当我们想要查询某个字段的时候,会用 values 或者values_list这两兄弟。 values查询出来的是一个字典,当我们想要用 点属性的形式点出来,就不能用
阅读全文
摘要:聚合查询 关键字:aggregate 当然要导入模块了。 分组查询 关键字:annotate 分组查询就是mysql里的 group by,按照什么来分组,就相当于是把多条记录压缩成一条。 正向反向查询的规则在这里一样受用。 F与Q查询 我们之前在查询数据库的时候条件都是我们自己手写的但是现在出现了
阅读全文
摘要:多表查询 多表查询又分为: 1. 子查询 2. 连表查询 一对多字段增删改查: 多对多字段的增删改查: 简而言之,就是我手里有主键字段,要去查你,就是正向查询,你来查我,就是反向查询。 基于双下划线的跨表查询 连表查询 解释一下上面的第七题,也就是最后一题。 我们要查询的是作者的手机号,在Book表
阅读全文
摘要:Django测试环境的搭建 想要使用app文件夹里面的test文件,就一定要在他里面先配置好,才行。 单表查询 增删改我们都已经知道了,所以只写上查询。 查询的必知必会的13条 1. all ( ) 查询所有 2. filter ( ) 根据条件查询 3. get ( ) 不推荐使用,因为只要找不到
阅读全文
摘要:模板的继承 现在有一种应用场景,你在访问一个页面,点击一些按钮,发现上面的部分和左边的侧边栏一直都不变的,只有中间的在变,这就是不变的内容继承了之前的页面。 是被{% block 区域名字 %} {% endblock %}包括的部分可以重新自己写,而不是包住的地方继承。 模板的导入
阅读全文
摘要:模板语法的传值和取值 传函数名的时候 会自动加括号调用函数 将函数的返回值展示在html页面上 django模板语法不支持函数传参 django模板语法在获取容器类型内部元素的值的时候统一只采用 句点符(.)
阅读全文
摘要:模板语法之过滤器和标签 过滤器: 过滤器有点类似于小的方法。 特点: 会将|左边的当做过滤器的第一个参数 |右边的当前过滤器第二个参数 过滤器(|) (前端代码并不一定非要在前端写 你也可以在后端写好 传递给前端页面) 前后端取消转义 前端 |safe 后端 views html 结果: 模板语法的
阅读全文
摘要:CBV源码分析 html(这里只是单纯的用来做请求而已,没什么用处,只是让后端来判断走哪个方法) view 看一下我们最开始写的 urls
阅读全文
摘要:json实现不支持转换数据类型得转换 当我们用json模块的dumps把一种json模块不支持的数据类型进行转换成json字符串的时候,会报错 “datetime 类型的对象不能被json解析” 但是现在的业务逻辑是我们非要让他能够解析,这时候看他的源码。 先进入到dumps的源码之中 看见里面有一
阅读全文
摘要:form表单上传文件 views html 这时候随便选择一个文件发送,结果当然是不成功的。 错误信息 不能发,现在要朝着后端发送post,还是要去把中间件给注释掉,然后再点提交就没问题了,那么后端如何获取post请求的数据, 在request.post里面,这时候还只是拿来了一个字符串,拿不到数据
阅读全文
摘要:伪静态 将动态网页假装成是静态的 这样做的目的是为了提高搜索引擎的SEO查询优先级 搜索在收录网站的时候 会优先收录看上去像是静态文件的资源 比如在你的后面加一个.html伪装成静态文件,但其实你根本不是静态文件 虚拟环境 通常针对不同的项目 只会安装该项目所用的模块 用不到的一概不装 djan
阅读全文
摘要:路由分发 比如说我有十个人要开发,每个人都不需要沟通,只用开发自己的那个app就好了,你的老板只需要建立一个空的Django项目,把你们每个人的app拿过来,在settings里面注册一下,然后在urls里面路由分发一下就好了。 这时候比如说你的app01和app02 都有一个index函数: 接下
阅读全文
摘要:无名分组和有名分组 无名分组: 括号就是正则里面的分组,\d 是只要是数字就行,+ 代表的是一到无穷大个, ?是零或者一个, 是0到无穷大个,正则默认是贪婪匹配。 当加上括号的时候,就会把括号里的内容当做未知参数,传递给后面的视图,所以需要在 views里面的函数 test里面加一个接收参数。 有名
阅读全文
摘要:反向解析 现在,有十个app,每个都有一千万个a标签,都可以访问到你的 testadd,然后你的产品经理说,我想要改一下 urls 里面的 testadd ,把它改成 test_add,你只用改一下就好了,然后所有的 a 标签,全都访问不到了,这个时候难道要手动去改a标签的 href吗? 当然不可能
阅读全文
摘要:先抛出一个问题 当我们访问test的时候,返回的页面内容是 test 没有问题。 但是当我们访问testadd 的时候,返回的页面内容居然也是 test 。 这是因为 urls 里面不是单纯的匹配,而是正则匹配。 并且在这里面搜索顺序是自上而下,一旦找到满足的,后面的就不再执行了,我们输入的 tes
阅读全文
摘要:Django里orm关系表创建 千万不能让自己的表里面的外键的字段名字设置为后缀_id,因为他会自动帮我们加上。
阅读全文
摘要:流程: 橙色箭头: 浏览器向后端发送请求,先到web服务网关接口,里面有一个wsgiref模块,该模块是django自带的,自身能够承受的并发量非常小,大概只有一千左右,上线之后通常会谎称uwsgi,而且在他前面还会加上nginx做反向代理来提高网站的并发量。接下来就走到了urls.py,路由与视图
阅读全文
摘要:继上一篇Django的数据库数据的编辑和删除 首先需要写一个能够展示数据库一张表中所有数据的 html 页面 上面的两个 a 标签,一个是编辑一个是删除,点击会跳转到对应的 html 页面。 注意: href 里的链接,一定要在前面加上一个 "/" ,这样他的跳转才会是‘’http://127.0.
阅读全文
摘要:布尔索引 python names = np.array(['bob', 'joe','will', 'bob', 'will', 'joe', 'joe'] ) data = np.random.randn(7,4) 生成一个七乘四的随机正态分布数组 print(names) print(data
阅读全文
摘要:基础索引与切片 首先你新创建了额一个 ndarray 数组: 和python的列表相似的,你可以通过索引和切片来取值 6 [5 6 7] 和列表一样,数组里的切片取值也是顾头不顾尾,并且索引是从0开始的。 重要的一个例子 [ 0 1 2 3 24 24 6 7 8 9] 是的,区别于Python的内
阅读全文
摘要:NumPy数组算术 数组之所以重要是因为他允许你进行批量操作而无需任何循环语句,NumPy用户称这种特性为向量化。任何在两个等尺寸数组织之间的算术操作都应用了逐元素操作的方式。 [[1 2 3] [4 5 6]] / [[ 1 4 9] [16 25 36]] / [[0 0 0] [0 0 0]]
阅读全文
摘要:"NumPy 生成ndarray" "NumPy ndarray 的数据类型" "NumPy 数组算术" "NumPy 基础索引与切片" "NumPy 布尔索引" "神奇索引" "数组的转置和换轴" "NumPy的transpose方法详解" "通用函数:快速的逐元素数组函数" "使用数组进行面向数
阅读全文
摘要:ndarray 的数据类型 数据类型,即 dtype ,也是一个特殊的对象, 它包含了ndarray需要为某一种类型数据所申明的内存块信息(也成为了元数据,即表示数据的数据) dtype是NumPy能够与琪他系统数据灵活交互的原因。通常,其他系统提供一个硬盘或内存与数据的对应关系,使得利用C或For
阅读全文
摘要:NumPy ndarray:多维数组对象 NumPy的核心特征之一就是 N 维数组对象——ndarray。 ndarray是Python中的一个快速、灵活的大型数据集容器。数字允许你使用类似于标量的操作语法在整块数据上进行数学计算。 首先要导入NumPy模块 生成ndarray 生成数组对象最简单的
阅读全文
摘要:"初识Django" "Django 静态资源,请求,数据库的连接和操作" "继上一篇Django的数据库数据的编辑和删除" "Django里orm关系表创建" "Django请求生命周期" "Django路由匹配" "无名分组和有名分组" "反向解析" "路由分发" "伪静态、虚拟环境、djang
阅读全文
摘要:小白比会三板斧(程咬金) 就是以上三个,需要用这种方式导入。 用法: 一、HttpResponse 这是返回字符串的,比如你写了一个页面后缀是 login,并且已经在urls里面绑定了,就会调用这个函数,然后return返回的字符串会在页面上显示出来。 二、render 这是返回一个html页面的,
阅读全文
摘要:在开始见识Django之前,先看一下HTTP协议,因为这是必要的。 HTTP协议 http协议 :超文本传输协议 请求方式 get请求: 向别人要数据 post请求: 向别人提交数据(例如:用户登录) URL url 就是统一资源定位符 动静态网页 静态网页:数据是写死的,万年不变 动态网页:数据是
阅读全文
摘要:JQuery 介绍 1. jQuery是一个轻量级的、兼容多浏览器的JavaScript库。 2. jQuery使用户能够更方便地处理HTML Document、Events、实现动画效果、方便地进行Ajax交互,能够极大地简化JavaScript编程。它的宗旨就是:“Write less, do
阅读全文
摘要:前戏 到目前为止,我们已经学过了JavaScript的一些简单的语法。但是这些简单的语法,并没有和浏览器有任何交互。 也就是我们还不能制作一些我们经常看到的网页的一些交互,我们需要继续学习BOM和DOM相关知识。 JavaScript分为 ECMAScript,DOM,BOM。 BOM(Browse
阅读全文
摘要:前端之JavaScript JS引入方式 Script标签内写代码 引入额外的JS文件 JS语言规范 注释 结束符 JavaScript中的语句要以分号(;)为结束符。 JS语言基础 变量声明 1. JavaScript的变量名可以使用_,数字,字母,$组成,不能以数字开头。 2. 声明变量使用 v
阅读全文
摘要:之前讲过和NULL做加法结果一定是null。 当你的一个表里的数据类型为int的字段里存在null的时候,用sum方法,这个时候结果不会是null。 这说明了sum函数会自动过滤掉内容为null的记录。 同理,avg() ,max() ,min()也一样会过滤null。 count函数的详细介绍 s
阅读全文
摘要:起别名 好处: 1、 便于理解 2、 如果要查询的字段有重名的情况,使用别名可以区分开来。 方式一: 使用as 方式二:使用空格 注意:当别名之中有关键词或者空格的时候,应该用双引号把别名全部框起来。 去重 在select后面加一个关键字:distinct 就可以了 +号的作用 在python中“+
阅读全文
摘要:决定好好学习一下MySQL数据库,技多不压身。 "起别名、去重、+号作用" "单行函数遇到null和count的效率" "乐观锁和悲观锁配合事务的应用"
阅读全文
摘要:label标签 就是给文字绑定了某个radio的id之后,点击这个文字,那个radio也会被选中。 字体属性 文字字体 font family可以把多个字体名称作为一个“回退”系统来保存。如果浏览器不支持第一个字体,则会尝试下一个。浏览器会使用它可识别的第一个值。 简单实例: 字体大小 如果设置成i
阅读全文
摘要:css选择器 基本选择器 元素选择器(根据标签名来选择) id选择器(根据id属性来选择标签) 类选择器(根据类属性来选择标签) 通用选择器 组合选择器 只写上关键代码 后代选择器 儿子选择器 毗邻选择器 弟弟选择器 分组和嵌套 分组 当多个元素的样式相同的时候,我们没有必要重复地为每个元素都设置样
阅读全文
摘要:常用标签补充 link标签的作用: html的link标签是用于当前文档引用外部文档用的,rel属性用于设置对象和链接目的间的关系。rel是relationship的英文缩写;stylesheet中style是样式的意思,sheet是表格之意,总起来是样式表的意思。 meta标签的作用: 标签提供关
阅读全文
摘要:Golang变量 变量使用注意事项 1) 变量表示内存中的一个存储区域 2) 该区域有自己的名称(变量名)和类型(数据类型) 3) Golang 变量使用的三种方式 第一种:指定变量类型, 声明后若不赋值,使用默认值 .jpg) 第二种:根据值自行判定变量类型( 类型推导) .jpg) 第三种:省略
阅读全文
摘要:Go语言的转义字符(escape char) 说明:常用的转义字符有如下: 1) \t: 表示一个制表符,通常使用它可以排版。 2) \n :换行符 3) \\ :一个\ 4) \" :一个" 因为在go语言里,只有双引号,如果你想在输出内容中打出双引号,就得用转义字符,不像在python里面,
阅读全文
摘要:orm的作用就是类和数据库的表的映射关系。 一个类代表的就是一张表,一个类实例化出来的对象就是一条记录。
阅读全文
摘要:1、 Go 语言的 SDK 是什么? SDK 就是软件开发工具包。我们做 Go 开发,首先需要先安装并配置好 sdk. Golang 环境变量配置及其作用 GOROOT: 指定 gosdk 安装目录。 Path: 指令 sdk\bin 目录:go.exe godoc.exe gofmt.exe GO
阅读全文
摘要:DOS的常用指令 dos的基本介绍 Dos: DiskOperatingSystem 磁盘操作系统, 简单说一下 windows 的目录结构 dos 的基本操作原理 我们所看到的cmd其实只是一个用来发送指令的终端,他并不是dos操作系统,更不是Windows操作系统。 他就是用来让用户输入命令,然
阅读全文
摘要:Go语言的转义字符(escape char) 说明:常用的转义字符有如下: 1) \t: 表示一个制表符,通常使用它可以排版。 2) \n :换行符 3) \\ :一个\ 4) \" :一个" 因为在go语言里,只有双引号,如果你想在输出内容中打出双引号,就得用转义字符,不像在python里面,
阅读全文

浙公网安备 33010602011771号