- 博客(68)
- 收藏
- 关注
原创 BBS项目
写一个类,继承forms.Form在类中写属性和方法属性:和我们要校验或者自动生成页面的字段一一对应方法:对字段进行校验:clean_字段名:给单个字段校验clean:给多个字段校验在视图函数中使用在模板中使用form表单中,如果定义了button或input类型是'submit',只要点击就会默认触发form表单的提交,如果我们又写了ajax提交就会触发两次从而导致出现问题。
2023-12-07 15:04:12
881
原创 Django回顾7
在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增,删,查,改,渲染模板,执行业务逻辑,最后生成用户看到的页面.当一个网站的用户访问量很大的时候,每一次的的后台操作,都会消耗很多的服务端资源,所以必须使用缓存来减轻后端服务器的压力.缓存是将一些常用的数据保存内存或者memcache中,在一定的时间内有人来访问这些数据时,则不再去执行数据库及渲染等操作,而是直接从内存或memcache的缓存中去取得数据,然后返回给用户。
2023-12-06 15:53:23
1113
原创 Django回顾6
Cookie虽然在一定程度上解决了“保持状态”的需求,但是由于Cookie本身最大支持4096字节,以及Cookie本身保存在客户端,可能被拦截或窃取,因此就需要有一种新的东西,它能支持更多的字节,并且他保存在服务器,有较高的安全性。这就是Session。中间件是介于request和response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出,因为是改变全局,所以需要谨慎使用,用不好会影响性能print("Md1请求")print("Md1返回")
2023-12-05 15:58:15
1294
原创 Django回顾5
Ajax(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”。
2023-12-04 16:19:17
1005
原创 Django回顾4
register = template.Library() # register的名字是固定的,不可改变。l = ['妈的', '傻逼', '退游']程序的类中,字段也有很多类型:CharField,DecimalField。2.数据库表中,字段有很多类型:int,varchar,text。一对一:本质就是一对多,只不过多里面的字段唯一。数据库中:一个个表:user表,book表,一条条的记录。1. ORM框架 ----> 对象关系映射。多对多:必须有中间表。反向查询(按表名:book_set)
2023-12-01 16:51:14
1312
原创 Django回顾3
模板在浏览器中是运行不了的,因为有模板语法,浏览器解析不了模板语法模板必须在后端渲染完成(替换完成)变成纯粹的html、css、js这种在后端会被渲染的类python语法就叫做模板语法。
2023-11-29 15:43:30
1217
原创 Django回顾2
统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址,互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它框架就是别人写好了基础代码,我们只需要在固定位置写固定代码即可实现一个web应用Web框架(Web framework)是一种开发框架,用来支持动态网站、网络应用和网络服务的开发。这大多数的web框架提供了一套开发和部署网站的方式,也为web行为提供了一套通用的方法。
2023-11-28 15:56:18
1193
原创 Django中间件
引入父类print("这是第一个自定义中间件中的 process_request 方法")print("这是第二个自定义中间件中的 process_request 方法")请求来的时候需要经过每一个中间件的 process_request 方法结果的顺序是按照配置文件中注册的中间件从上往下的顺序执行的如果没有定义这个方法,就跳过这个中间件如果在自定义中间件中定义了返回值(三板斧),那么请求将不再继续执行,而是直接原路返回(校验失败不允许访问)
2023-11-23 20:34:29
1671
原创 Cookie与Session知识
Cookie和Session是Web应用程序中常用的用户会话跟踪技术Cookie通过在客户端存储小型文本文件,并将会话标识符传递给服务器,实现会话状态的保持Session则是在服务器端存储会话数据,通过Session ID实现对用户会话的追踪他们的发展历程与互联网的发展紧密相关,为开发人员提供了更多的选择以保障安全性和用户体验的提升cookie就是保存在客户端浏览器上的信息session就算保存在服务端上的信息。
2023-11-22 16:40:03
640
1
原创 Ajax相关知识
/ 不指定参数,默认就是 urlencoded当我们需要使用到非Django内置的第三方模块或者功能组件代码的时候,我们一般情况下会创建一个名为utils的文件夹,在该文件夹中对模块的功能进行划分注意:样式基于bootstrap,需要引入bootstrap配置"""封装分页相关数据:param current_page: 当前页:param all_count: 数据库中的数据总条数:param per_page_num: 每页显示的数据条数。
2023-11-21 15:27:17
1385
原创 Ajax技术
异步提交,局部刷新动态获取用户名,实时跟后端确认并将结果展示给前端Ajax不是新的编程语言,而是一种使用现有标准的新方法(类比装饰器)Ajax最大的优点就是不重新加载页面的情况下,可以与服务器交换数据并更新部分网页内容这种特点给用户的感觉就是在不知不觉中完成了请求和响应过程Ajax(Asynchronous JavaScript and XML)是一种用于创建动态网页的编程技术。它通过在网页上进行异步数据传输,实现了在不重新加载整个页面的情况下更新部分页面内容的能力。
2023-11-20 15:39:21
265
原创 Django知识
该属性是一个类似字典的对象,包含了请求中通过文件上传组件发送的所有文件,当表单中包含文件上传字段时,通过request.FILES可以访问上传的文件,可以使用文件的名字作为键来访问单个文件。该方法返回客户端用于发起请求的HTTP方法,例如可以是'GET','POST','PUT','DELETE'等,可以使用该方法来确定请求的类型,并相应的执行特定操作。该属性是一个类似字典的对象,包含了请求中通过POST方法发送的所有参数,这些参数通常是通过HTML表单发送的,可以使用参数的名字作为键来访问单个参数。
2023-11-14 18:53:33
423
原创 Django路由层和视图层
我们会发现这样跳转到我们的xxx指定路由字段的时候会报错,提示匹配不到我们写的路由表单式,这是因为我们返回数据的时候,因为我们的路由正则表达式是r'^index/(\d+)/'路由地址后面是需要跟数字的,我们现在在根路由的后面不跟参数就不能被匹配到,所以主动抛出异常。最后只需要将所有的app拷贝到新的文件,并将这些APP注册到配置文件中,然后再利用路由分发的特点,将所有的APP整合起来。当我们向指定的形参进行参数传递时,就能被指定的路由匹配表达式所匹配,从而访问到指定的页面。
2023-11-13 16:54:39
254
原创 Django框架知识
目录一.数据的增删改查1.大致流程用户列表的展示修改数据的逻辑分析删除功能的分析2.如何查询数据3.数据的增加4.用户操作数据的更改(1)编辑功能(2)删除功能二.表关系的建立1.表关系相关知识2.总结(1)ForeignKey(多对一)(2)ManyToManyField(多对多)(3)OneToOneField(一对一)(4)ManyToManyField 和 OneToOneField自动加id后缀3.数据的增加4.用户操作数据的更改先从数据库中将数据全部展示到前端,然后
2023-11-10 15:57:07
338
原创 Django框架基础
我们一般把静态文件放在框架下的static文件夹,但是,默认情况下没有这个文件夹,因此,需要我们手动创建出来这个文件夹static。# print(request.POST.get('password')) # 123 获取以post请求方式提交的表单数据。# print(request.POST.get('hobby')) # 3 获取以post请求方式提交的表单数据。配置完链接数据的代码之后,Django默认启动不起来了,原因是:内部使用的链接模块用的是mysqldb。1.不写,朝当前地址提交。
2023-11-09 18:45:43
335
原创 Django框架
Django框架是一款专门用来开发web应用的框架web应用程序是一种可以通过web访问的应用程序,用户只需要有浏览器即可,不需要再安装其他软件,例如:淘宝、京东等应用程序有两种模式:C/S、B/SC/S(客户端/服务端)也就是说这类程序一般独立运行B/S(浏览器端/服务端)这类应用程序一般借助IE等浏览器来运行,web应用程序一般是B/S模式别人写好的框架(就是一堆目录和文件),我们只需要固定的位置写代码即可。
2023-11-08 15:47:03
792
原创 前端框架Bootstrap
Booststrap是一个开源的前端框架,用于快速构建响应式和移动设备优先的网站或应用程序它包含了HTML、CSS和JavaScript的模板和工具集,使开发人员能够快速的创建一致性和现代外观的页面布局和UI组件Bootstrap最初由Twitter的一些工程师创建,旨在简化Web开发的过程它提供了一个广泛的预定义样式和组件库,可以轻松自定义和扩展,以满足各种需求使用Bootstrap,开发人员可以更加专注于网站或应用程序的功能和逻辑,而不必从头开始编写CSS样式和设计页面布局。
2023-11-07 15:12:00
772
原创 jQuery相关知识
jQuery(document.getElementById())------>jQuery对象------>可以使用jQuery提供的方法。$(document.getElementById())------>jQuery对象------>可以使用jQuery提供的方法。document.getElementById()------>标签对象------>直接就是标签。对于返回布尔值的比如checkbox、radio和option的是否被选中都用prop。# 如何把jQuery对象转换为标签对象。
2023-11-06 16:38:28
84
原创 前端基础之jQuery
jQuery内部封装了原生的js代码能够通过书写更少的代码,完成js操作,类似于Python中的模块前端叫“类库”兼容多个浏览器。
2023-11-03 19:19:27
211
原创 CSS以及JavaScript
a=trueb=false只需要记住什么是假,其余的都是真""(空字符串)、0、null、undefined、NaN都是false。
2023-11-01 16:37:22
413
2
原创 CSS入门介绍
行内选择器 >>> id选择器 >>> 类选择器 >>> 标签选择器。***默认情况下,只有块儿级元素才能设置长宽,内联元素不能设置,就算设置了也没效果***组合(嵌套)选择器使用的是空格隔开,选择器不是并列的,最终生效的还是最后一个选择器。id值和class值是每个标签都自带的属性,还有另外一种,自定义属性。clear属性规定元素的哪一侧不允许其他浮动元素。分组选择器使用逗号隔开,所有的选择器都是并列的。both 在左右两侧均不允许浮动元素。通过标签的属性来查找标签,标签都有属性。
2023-10-31 16:23:10
64
原创 HTML的学习
CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化(渲染)***CSS就是对HTML标签做样式的,让不好看的变得好看***选择器{属性名1:属性值;属性名2:属性值;属性值3:属性值;属性值4:属性值;属性值5:属性值;
2023-10-30 15:57:44
72
原创 简单的前端语言
前端是所有跟用户直接打交道的都可以称之为是前端语言例如:网页就是一堆代码,用户不能够直接看到,不直接与用户打交道的称之为是后端语言常见的后端:python,java等你在网页中所能够看到的东西都是HTML标签<head></head><body></body></html><head> 标签里面写的内容一般不是让用户看的,给程序员看的<body> 标签才是用户看的,在body里面写什么,浏览器就显示什么,head里面写的代码是对body中的代码做控制。
2023-10-27 16:07:21
410
原创 MySQL
MySQL本身就是一款C/S架构,有服务端、客户端,自身带了有客户端:mysql.exepython这门语言成为了MySQL的客户端(对于一个服务端来说,客户端可以有很多)视图就是通过查询得到一张虚拟表,然后保存下来,下次直接使用即可在满足对某张表数据的增、删、改(没有查)的情况下,自动触发的功能称之为触发器开启一个事务可以包含一些SQL语句,这些SQL语句要么同时成功,要么一个都不能成功,这种称之为事务的原子性索引就是一种数据结构,类似于书的目录。
2023-10-26 16:17:15
172
原创 MySQL外键
外键是关系数据库中的一个概念,用于建立两个关系表之间的关联关系它是一个列或一组列,用来指向另一个表的主键外键在建立数据表与数据表之间的关系时起到了重要的作用。
2023-10-25 16:28:01
90
原创 SQL语句约束条件
在MySQL中分组之后,只能够获得分组的依据!统计各部门年龄在20岁以上的员工平均工资,并且保留平均工资大于1000的部门,然后对平均工资进行排序。字段名1 数据类型 约束条件 约束条件 约束条件 约束条件,字段名2 数据类型 约束条件 约束条件 约束条件 约束条件,字段名3 数据类型 约束条件 约束条件 约束条件 约束条件,字段名5 数据类型 约束条件 约束条件 约束条件 约束条件,多字段排序,如果想让后面的字段排序生效,前提:前面的排序字段必须一样。例如:按照身高分组,按照年龄分组,按照性别分组等。
2023-10-24 18:41:56
189
原创 数据库SQL语句
表中一行一行的数据称之为记录(需要先有库再有表最后有操作记录)INT:整数类型,通常用于存储整数值。BIGINT:大整数类型,可以存储更大范围的整数值。DECIMAL:高精度浮点数类型,用于存储具有精确小数位的数值。CHAR:定长字符串类型,存储固定长度的字符。VARCHAR:变长字符串类型,存储可变长度的字符。TEXT:用于存储较长的文本内容。DATE:仅存储日期。TIME:仅存储时间。DATETIME:存储日期和时间。
2023-10-23 16:18:43
89
原创 MySQL数据库
最开始我们把数据保存在文件中这样的文件,文件名不规范,像是kevin|123 kevin#123 kevin@123等等后来我们将数据存到了db文件夹里随着用户注册量的增加,文件数也越来越多,占用了大量的空间,存储和查找也都不方便,速度也很慢再后来就是现在的数据库了存储数据,查找数据都很便捷MySQL数据库为了兼容各个语言就统一了格式:关系型数据库:SQL非关系型数据库:nosql现在常用的几个MySQL数据库版本:MySQL5.6:使用较多,比较稳定。
2023-10-20 15:11:43
55
原创 Python全局解释器锁和协程
首先需要明确的一点是GIL并不是 Python 的特性,它是在实现Python解析器(CPython)时所引入的一个概念。就好比 C++ 是一套语言(语法)标准,但是可以用不同的编译器来编译成可执行代码。有名的编译器,例如:GCC,INTEL C++,Visual C++等。Python也一样,同样一段代码可以通过CPython,PyPy,Psyco等不同的Python执行环境来执行。像其中的JPython就没有 GIL。然而因为 CPython 是大部分环境下默认的Python执行环境。
2023-10-19 16:19:25
117
原创 Python多线程操作
生产者消费者模式是通过一个容器来解决生产者和消费者的强耦合问题,生产者和消费者彼此之间不直接通讯,而是通过阻塞队列来进行通讯,所以生产者生产完数据之后不用等待消费者处理,直接扔给阻塞队列,消费者不找生产者要数据,而是直接从阻塞队列里取数据,阻塞队列就相当于一个缓冲区,平衡了生产者和消费者的处理能力基于队列实现生产者消费者模型print('\033[45m%s 吃 %s\033[0m' %(os.getpid(),res))res='包子%s' %iq.put(res)
2023-10-18 15:44:28
59
原创 Python并发编程
顾名思义,进程即正在执行的一个过程,进程是对正在运行程序的一个抽象进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老的也是最重要的抽象概念之一,操作系统的其他所有内容都是围绕进程的概念展开的精简来说,操作系统就是一个协调、管理和控制计算机硬件资源和软件资源的控制程序,操作系统所处的位置如图操作系统位于计算机硬件与应用软件之间,本质也是一个软件操作系统由操作系统的内核(运行于内核态,管理硬件资源)以及系统调用(运行于用户态,为应用程序员写的应用程序提供系统调用接口)两部分组成。
2023-10-17 16:11:56
64
原创 Python的Socket抽象层和粘包
我们经常把Socket翻译为套接字,Socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应层调用以实现进程在网络中通信基于文件类型的套接字家族:套接字家族的名字: AF_UNIX基于网络类型的套接字家族:套接字家族的名字: AF_INET只有TCP有粘包现象,UDP永远不会粘包发送端可以是1k1k的发送数据,而接收端的应用程序可以2k2k的提走数据,当然也有可能7k8k的提数据,又或者一次只提走几个字节的数据。
2023-10-16 16:00:20
40
原创 Python之网络编程
C是英文单词“Client”的首字母,即客户端的意思C/S就是“Client/Server”的缩写,即“客户端/服务器”模式例如:APPB是英文单词“Browser”的首字母,即浏览器的意思;S是英文单词“Server”的首字母,即服务器的意思B/S就是“Browser/Server”的缩写即“浏览器/服务器”模式例如:淘宝网页。
2023-10-13 15:52:57
55
原创 Python元类
什么是元类:一切源自一句话:python中一切皆为对象所有的对象都是实例化或者说调用类而得到的(调用类的过程称为类的实例化),比如对象t1就是调用类 StanfordTeacher得到的print(type(t1)) #查看对象t1的类是<class '__main__.StanfordTeacher'>如果一切皆为对象,那么类StanfordTeacher本质也是一个对象,既然所有的对象都是调用类得到的,那么StanfordTeacher必然也是调用了一个类得到的,这个类称为元类。
2023-10-11 15:59:20
39
原创 Python面向对象之反射,内置方法
如果__str__没有被定义,那么就会使用__repr__来代替输出。str函数或者print函数 ---> obj.__str__()repr或者交互式解释器 ---> obj.__repr__()而对于__call__方法的执行是由对象后加括号触发的。注意:这两方法的返回值必需是字符串,否则抛出异常。注:构造方法的执行是由创建对象触发的。即:对象()或者 类()()即:对象=类名();
2023-10-10 15:07:18
97
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人