03 2024 档案
摘要:【一】Auth模块引入 auth模块是django自带的用户认证模块 当我们开发一个网站的时候,无可避免的需要设计实现网站的用户登陆系统。此时我们需要实现包括用户的注册,登录,全局登录认证,注销,修改密码等等,如果要靠自己一点点敲代码完成,那实在是太繁琐了 Django为我们提供的Auth模块就有一
阅读全文
摘要:【一】跨站请求伪造介绍 【1】引入 CSRF(Cross-Site Request Forgery)跨站请求伪造是一种常见的网络攻击方式。 攻击者通过诱导受害者访问恶意网站或点击恶意链接 将恶意请求发送到目标网站上 利用受害者在目标网站中已登录的身份来执行某些操作 从而达到攻击的目的。 【2】举例
阅读全文
摘要:【一】引入 我们在Django的配置文件中,里面的中间件配置文件虽然使用逗号分开,但是可以直接映入到某个模块 MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middle
阅读全文
摘要:【一】中间件介绍 之前我们通过给视图函数加上装饰器来判断用户是否登录,把没有登陆的用户请求跳转到登录页面。 但是如果有很多的功能都需要在登录之后才能使用,那么每个功能对应的视图函数都需要加上装饰器,这样的话就略显繁琐 通过django中间件就可以实现控制全局的效果 【1】什么是中间件 官方的说法是,
阅读全文
摘要:【一】Cookie与Session介绍 【1】早期的网站 早期的很多网站可能都没有保存用户功能的需求,所有用户访问的返回结果都是一样的,如新闻,博客文章等等... 但是互联网发展至今,已经有绝大多数网站,在你登录后反馈的页面和不登录反馈的页面已经是不一样的了,这些网站就用到了保存用户登录信息的技术
阅读全文
摘要:【一】FROM介绍 【1】引入 现有一需求,在不使用ajax的前提下,使用form组件完成向后端发送数据,后端获取到用户名和密码,并且判断用户名和密码是否符合一定条件 如密码长度限制,以及用户名查重等等,如果不符合条件,就需要将相关的消息渲染到前端页面 form组件就可以很好的实现以上需求 【2】功
阅读全文
摘要:【一】分页器 在页面上,如果数据太多就会导致查看不方便 针对数据量大但又需要全部展示给用户观看的情况下,我们统一的做法都是分页处理 【二】分页推导 首先需要明确的是,get请求是可以携带菜蔬的,所以在朝后端发送查看数据的同时,可以携带一个参数告诉后端,想要显示的是第几页的数据 其次,queryset
阅读全文
摘要:【一】批量插入数据 项目需求:浏览器中访问django后端某一条url,数据库就生成3000填数据,并将数据查询出来,展示到前端页面上去 【1】普通方法 这样做会发现时间会比较慢,而且数据才三千条,显然是不行的 def ser(request): for i in range(3000): mode
阅读全文
摘要:【一】前后端传输数据的编码格式 可以朝后端发POST请求的有form表单的POST请求和Ajax的POST请求 【1】form表单 application/x-www-form-urlencoded:默认编码类型,适用于大多数表单数据,将数据编码为名称/值对的形式,键值对之间用 & 分隔,适用于文本
阅读全文
摘要:【一】Ajax简介 【1】介绍 Ajax(Asynchronous Javascript And XML)翻译成中文就是“异步的Javascript和XML”。 就是使用JavaScript语言与服务器进行异步交互 Ajax不是新的编程语言,而是一种使用现有标准的新方法。 Ajax最大的优点是重新加
阅读全文
摘要:【一】前言 django自带的sqlite3数据库对日期格式不敏感,处理的时候总是出错 所以通常都不用自带的数据库 【1】测试脚本 django项目的每一个app下都有一个test.py文件,这是一个测试脚本 当我们想要测试一个django的某一张模型表时,就可以通过这个测试脚本,直接测试,而不需要
阅读全文
摘要:【一】模板语法的传取值 模板语法需要记两组符号,分别是{{}}和{% %} {{}}通常是与变量相关的 {% %}通常是与逻辑相关的 【1】传值 模板语法可以传递python所有的数据类型,包括函数和类,以及类实例化的对象 传递函数的时候,函数需要有返回值,要不然在页面显示的结果就是None 模板语
阅读全文
摘要:【一】视图层三板斧 HttpResponse非常重要,因为三板斧的三个方法返回的都是HttpResponse对象 通过看源码可以发现各种各样的类,最终都是由HttpResponse这个类继承而来的 【1】HttpResponse HttpResponse是Django中用于创建HTTP响应的一个类,
阅读全文
摘要:【一】Django的路由系统 【1】什么是URL配置 URL调度器 | Django 文档 | Django (djangoproject.com) URL配置的本质就是让URL与视图函数之间有对应的关系 当在浏览器输入对应的URL,django就能通过URL配置去找对应的视图函数 【2】基本格式
阅读全文
摘要:【一】配置数据库 【1】默认数据库 在settings.py文件中的DATABASES字典就是用来配置数据库的 默认的数据库是django自带的数据库是sqlite3 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3',
阅读全文
摘要:【一】requests对象引入 【1】提交GET请求 前端 form表单中action属性,如果不写的话,默认就是向当前路由请求 form表单中的method属性,如果不写默认就是GET请求 <!DOCTYPE html> <html lang="en"> <head> <meta charset=
阅读全文
摘要:【一】静态文件配置说明 【1】模板文件 通常html文件都会放在templates文件夹下 【2】资源文件 资源文件也就是jQuery,bootstrap这些前端框架 这些都统称为静态文件,通常默认是放在static文件夹里面的 static内部又通常分为以下三部分 css jss img plug
阅读全文
摘要:引入 查看源码的前提 刚开始阅读一些库的源码的时候,最好选一些代码量少的先感受一下 看到看不懂的,没有必要去死磕,挑一些看得懂的,再结合网上的一些文献 一.django 的两个配置文件 一个是暴露给用户可以自己自定义的配置文件也就是项目根目录下的settings.py 一个是项目默认的配置文件:当用
阅读全文
摘要:【一】Django项目如何添加新功能 【1】添加URL映射 在项目的urls.py中,通过导入相应的应用app的views 在urlpatterns列表中添加对应的映射 如 from django.contrib import admin from django.urls import path f
阅读全文
摘要:【一】python主流web框架 // django 大而全 自带的功能非常的多 但是有时候会略显笨重 // flask 小而精 自带的功能非常的少 但是第三方模块非常的多 类似于'游骑兵' flask的第三方模块加到一起甚至比django还多 并且也越来越像django flask由于过多的依赖于
阅读全文
摘要:Web框架本质 web框架本质上就是一个socket服务端,但是它的功能非常强大 用户的浏览器可以看作一个拥有可视化界面的socket客户端 两者通过网络请求完成数据交互 手撸Web框架 【1】原始版本 web框架可以是自己写的一个简陋的socket服务端 import socket server
阅读全文
摘要:【一】查找标签 【1】基本选择器 // id选择器 $('#id') // 标签选择器 $('tag') // 类选择器 $('.class') // 找到由xx类的xx标签 $('tag.class') // 所有元素选择器 $('*') // 组合选择器 $("#id, .className,
阅读全文
摘要:【一】什么是BOM/DOM BOM,浏览器对象模型,它使得JavaScript有能力与浏览器进行对话 DOM,文档对象模型,可以通过它访问HTML文档的所有元素 他们是JavaScript与浏览器以及网页内容进行交互的核心 【1】BOM 概述 浏览器对象模型(BOM)则是浏览器提供的API集合,主要
阅读全文
摘要:【一】什么是BOM/DOM BOM,浏览器对象模型,它使得JavaScript有能力与浏览器进行对话 DOM,文档对象模型,可以通过它访问HTML文档的所有元素 他们是JavaScript与浏览器以及网页内容进行交互的核心 【1】BOM 概述 浏览器对象模型(BOM)则是浏览器提供的API集合,主要
阅读全文
摘要:【一】数据类型 【1】JS中的数据类型 简单数据类型:Number String undefined Boolean null 复杂数据类:Object 【2】查看数据类型 typeof方法 console.log(typeof(...)) 【二】变量和常量 js是一门拥有动态类型的语言 var s
阅读全文
摘要:【一】JavaScript介绍 【1】什么是js js也是一门编程语言,也可以写后端代码 【2】什么是node.js 由于前端非常受制于后端,所以有人想要通过js来编写后端代码,以此拜托后端的限制 由此开发出来了一个叫nodejs的工具,它可以支持js在后端服务器运行起来 但是功能实现的并不完美 【
阅读全文
摘要:变量 【1】JS变量的命名规范 变量名只能是由 数字 字母 下划线 $ 组成的 推荐使用 驼峰式命名 如 userName首字母不推荐大写(python推荐使用下划线连接) 不能用关键字作为变量名 【2】var let const的区别 var时一个全局的变量声名关键字,在函数内可以直接对他修改 l
阅读全文
摘要:浮动 【1】传统网页布局的三种方式 网页布局的本质就是用CSS来摆放一个个盒子。 CSS提供了三种传统的布局方式(简单来说就是盒子的排列顺序) 标准流 浮动 定位 【2】标准流 所谓标准流就是标签按照规定的默认方式排列 一个块级元素独占一行,从上向下依次摆放 常见块级元素:div,hr,p,h1-h
阅读全文
摘要:CSS字体属性 【1】字体大小font-size CSS使用font-size属性定义字体大小 px(像素)是网页最常用的单位 每个浏览器都有自己的默认文字大小,谷歌浏览器为16px 我们要尽量给字体指定一个明确的大小,以防万一。 p { font-size: 20px; } 【2】字体粗细font
阅读全文
摘要:CSS 【1】简介 CSS的主要使用场景 就是美化网页,布局网页的 CSS是为了解决HTML美化网页的局限性 CSS就是网页的美容师 【2】HTML的局限性 HTML在我看来就是一个非常单纯的家伙,他只关注内容的语义,比如定义某个段落,某张图片等等,单词使用html做出来的网页都有一个共同的特点,那
阅读全文
摘要:table表格标签 【1】定义和用法 <table>用来定义一个表格 一个表格由一个或者多个tr,td组成 tr为一行 td为一行里面的一个个数据 th是表头,通常用来定义第一行的数据 thead用来装表头的那一行,tbody用来装其他行,可写可不写,写上可以让代码看起来更加美观,更加具有可读性 标
阅读全文
摘要:HTML标签分类 【1】双标签 双标签是有头有尾的 内容写在标签中间 【2】单标签 但标签也称自闭标签 不需要写另一半标签 文档结构标签 【1】html 定义html文档的根元素 【2】head 包含文档的元信息,如标题、字符集、样式表等。 【3】title 标题标签 标签内容会显示在浏览器的标签页
阅读全文
摘要:视图 【1】介绍 视图是一张虚拟表,是通过查询其他一张表或者多张表的结果而保存的,是基于 SQL 语句的结果集的数据库对象。 视图与真实的表不同,因为它本身不存储数据。 视图是一种可以保存复杂sql查询的方式,并且像普通表一样使用。 视图可以包含一个或多个表中的数据,并可以用于隐藏复杂的 SQL 语
阅读全文
摘要:存储过程 【1】简介 存储过程是一种在数据库中保存的sql语句集合,它可以执行一系列的数据库操作。 使用存储过程有以下几点好处 性能提升:存储过程在服务器端执行,减少了网络通信量和延迟。 代码重用和标准化:存储过程可以被多次调用,有助于代码重用和保持一致性。 安全性:可以限制对特定数据的直接访问,而
阅读全文
摘要:PyMySQL介绍 【1】简洁 纯Python实现的模块,可以与Python代码兼容衔接,并也几乎兼容MySQL-python。 遵循 Python 数据库 API v2.0 规范。 官网:https://zetcode.com/python/pymysql/ 【2】安装 通过pip install
阅读全文
摘要:多表查询 【1】子查询 子查询就是把将一条sql语句查询到的结果作为一张表和另一张表平在一起完成多表查询 有一张成绩表和学生信息表,要求查询学生的名字以及他的平均成绩 这时候就可以先通过成绩表查到对应学生id的平均成绩 再以这次查询的结果和学生信息表一起完成多表查询 【2】联表查询 联表查询分为内连
阅读全文
摘要:聚合函数 【1】count() 统计表中数据的行数或者统计指定列其值不为NULL的数据个数 -- 查询表里有多少个人 select count(id) from user; + + | count(id) | + + | 13 | + + 【2】max() 指定列的最大值 -- 查询最高的工资 se
阅读全文
摘要:记录的查询语法 -- 单表查询 select <字段...>from <库名>.<表名> where <条件> group by <分组条件> having <过滤条件> order by <排序字段> {ASC | DESC} -- 默认升序ASC limit <显示条数>; -- 创建表 cre
阅读全文
摘要:创建表的完整语法 【1】创建表的万能模板 create table <表名>( 字段名,字段类型[约束条件], 字段名,字段类型[约束条件], ... ) 【2】约束条件 -- 约束条件 约束条件是指在数据类型之外对字段额外附加的限制,是为了保证数据的完整性和一致性。可以自己看情况加不加约束条件 【
阅读全文
摘要:【一】操作库 【1】创库 create database [if not exists] <数据库名>[charset=utf8]; # 创建数据库的时候建议指定编码 【2】查库 show databases; #查所有数据库 show create database<数据库名>; #查一个数据库
阅读全文
摘要:SQL语句基础 【1】SQL规范 在数据库管理系统中,SQL语句关键字不区分大小写,参数区分大小写。 SQL语句可单行或者多行书写,结尾要加;,关键字不能跨行写或者简写 字符串和日期类型的值要以单引号括起来,单词和单词之间要用一个空格隔开。 【2】注释语法 单行注释:使用--或#开头的文本将在其后的
阅读全文