03 2022 档案
摘要:请求与响应(3星) 请求:Request REST framework 传入视图的request对象不再是Django默认的HttpRequest对象,而是REST framework提供的扩展了HttpRequest类的Request类的对象。 REST framework 提供了Parser解析
阅读全文
摘要:局部钩子和全局钩子源码分析(2星) # 入口是 ser.is_valid(),是BaseSerializer的方法 # 最核心的代码 self._validated_data = self.run_validation(self.initial_data) # 切记不要按住ctrl点 # run_v
阅读全文
摘要:序列化之Serializer类的使用(5星) 作用: 序列化,序列化器会把模型对象转换成字典,经过response以后变成json字符串 反序列化,把客户端发送过来的数据,经过request以后变成字典,序列化器可以把字典转成模型 反序列化,完成数据校验功能 基本使用 模型类 class Books
阅读全文
摘要:cbv源码拓展 扩展,如果我在Book视图类中重写dispatch方法 -可以实现,在get,post方法执行之前或者之后执行代码,完成类似装饰器的效果 def dispatch(self, request, *args, **kwargs): # 请求执行前代码 response=super().
阅读全文
摘要:HTTP请求头格式 提示: 回车符 \r 换行符 \n 请求首行分析: 请求方式: GET 和 POST 方式: GET请求:地址栏访问、超链接访问都是get请求方式,get请求方式不安全,地址栏大小有限。 POST请求:内容在请求体中,数据安全,理论上内容可以无限。 请求地址:访问服务器的哪个目录
阅读全文
摘要:HTTP/1.0和HTTP/1.1的区别: (1)缓存处理:在HTTP1.0中主要使用header里的If-Modified-Since,Expires来做为缓存判断的标准,HTTP1.1则引入了更多的缓存控制策略,例如Entity tag,If-Unmodified-Since,If-Match,
阅读全文
摘要:常见状态码 100: 部分请求已经被服务器接收,且仍未被拒绝,客户端应当继续发送请求的剩余部分,post请求时会发2次请求,第一次只把头部发送给服务端确认,服务器返回100时才继续把内容发送给服务端,这样做的目的时万一因为某些原因服务器需要拒绝请求(如没权限),白白发送那么多数据。 101:切换协议
阅读全文
摘要:Web应用模式 前后端混合开发 像之前开发的bbs项目,使用render(request, 'index.html')类似这种,页面的渲染都是在后台完成的,包括用的模板语法,后端人员要写CSS,JS,HTML。 前后端分离开发 前后端分离开发现在是主流的方式,前端发展出一些框架(vue,react)
阅读全文
摘要:Python 直接赋值、浅拷贝和深度拷贝解析 **直接赋值:**其实就是对象的引用(别名)。 **浅拷贝(copy):**拷贝父对象,不会拷贝对象的内部的子对象。 深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。 字典浅拷贝实例 实例 >>>a =
阅读全文
摘要:当删除关联表中的数据时,当前表与其关联的行的行为。 models.CASCADE 删除关联数据,与之关联也删除 models.DO_NOTHING 删除关联数据,引发错误IntegrityError models.PROTECT 删除关联数据,引发错误ProtectedError models.SE
阅读全文
摘要:Django media MEDIA_URL MEDIA_ROOT 的配置 Django中media文件夹是我们文件(比如头像、文件、视频等)数据十分重要的存放处,这里以用户头像的上传以及media文件的访问为例为大家详细讲解下media的相关实例。 在Django项目的settings.py文件中
阅读全文
摘要:Auth模块 Auth模块是什么 Auth模块是Django自带的用户认证模块: 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统。此时我们需要实现包括用户注册、用户登录、用户认证、注销、修改密码等功能,这还真是个麻烦的事情呢。 Django作为一个完美主义者的终极框架,当然也会想到用
阅读全文
摘要:django中间件 中间件介绍 什么是中间件? 官方的说法:中间件是一个用来处理Django的请求和响应的框架级别的钩子。它是一个轻量、低级别的插件系统,用于在全局范围内改变Django的输入和输出。每个中间件组件都负责做一些特定的功能。 但是由于其影响的是全局,所以需要谨慎使用,使用不当会影响性能
阅读全文
摘要:cookie Cookie的由来 大家都知道HTTP协议是无状态的。 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不会直接影响后面的请求响应情况。 一句有意思的话来描述就是人生只如初见,对服务器来说,每次的请求都是全
阅读全文
摘要:Forms组件 1.基本使用 # 在views.py中 from django import forms class MyForm(forms.Form): # username字符串类型最小3位最大8位 username = forms.CharField(min_length=3, max_le
阅读全文
摘要:Faker 安装 pip install Faker 基本使用 from faker import Faker #创建对象,默认生成的数据为为英文,使用zh_CN指定为中文 fake = Faker('zh_CN') print(fake.name())#随机生成姓名 print(fake.addr
阅读全文
摘要:前后端传输数据的编码格式(contentType) 提交post请求的两种方式: form表单 ajax请求 前后端传输数据的编码格式 urlencoded formdata(form表单里的) jaon 研究form表单 默认的数据编码格式是urlencoded 数据格式:username=jas
阅读全文
摘要:分页器制作(了解) 后端 def book(request): # 分页 # 当前页数 current_page = int(request.GET.get('page', 1)) # 每页展示多少条 per_page_num = 10 # 起使位置 start_page = (current_pa
阅读全文
摘要:自定义分页器 针对上一小节批量插入的数据,我们在前端展示的时候发现一个很严重的问题,一页展示了所有的数据,数据量太大,查看不方便 针对数据量大但又需要全部展示给用户观看的情况下,我们统一做法都是做分页处理 分页推导 首先我们需要明确的时候,get请求也是可以携带参数的,所以我们在朝后端发送查看数据的
阅读全文
摘要:Ajax简介 AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步的Javascript和XML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML)。 AJAX 不是新的编程语言,而是一种使用现有标准的新
阅读全文
摘要:choices参数(重要) **使用方式 😗* 只要某个字段的可能性是可以列举完全的,那么一般情况下都会采用choices参数 eg: 一张用户表 性别 学历 工作经验 是否结婚 是否生子 客户来源 ... 针对某个可以列举完全的可能性字段,我们应该如何存储? choice使用方法 class U
阅读全文
摘要:聚合函数 | 名称 | 作用 | | : : | : : | | Max() | 最大值 | | Min() | 最小值 | | Sum() | 求和 | | Count() | 计数 | | Avg() | 平均值 | 关键字: aggregate 聚合查询通常都是配合分组一起使用的 关于数据库的
阅读全文
摘要:测试脚本配置 ''' 当你只是想测试django中的某一个文件内容 那么你可以不用书写前后端交互的形式而是直接写一个测试脚本即可 脚本代码无论是写在应用下的test.py还是单独开设py文件都可以 ''' # 测试环境的准备 去manage.py中拷贝前四行代码到测试文件 然后自己写两行 impor
阅读全文
摘要:模版语法传值 传值 def index(request): # 模板语法可以传递给前端的数据类型 n = 123 f = 12.1 s = '俺也想网恋' b = True l = ['小红', '小花', '小敏', '小倩'] d = {'name': 'jason', 'age': 18, '
阅读全文
摘要:视图层 三板斧 三者的关系 视图函数必须要返回一个HttpResponse对象 """ HttpResponse 返回字符串类型 render 返回html页面 并且在返回给浏览器之前还可以给html文件传值 redirect 重定向 """ # 视图函数必须要返回一个HttpResponse对象
阅读全文