随笔分类 - Django
2024 upup...
摘要:DRF之Request源码分析 【一】路由入口 from django.contrib import admin from django.urls import path from book import views urlpatterns = [ path('admin/', admin.site
阅读全文
摘要:DRF之频率组件源码分析 【一】频率组件介绍 Django Rest Framework(DRF)中的频率组件是用于限制API端点的访问频率的一种机制。 频率组件可以帮助你控制用户对API的请求频率,以防止滥用和DDoS攻击。 比如某个接口,一分钟只能访问5次,超过了就得等 按IP地址 限制 按用户
阅读全文
摘要:DRF之权限组件源码分析 【一】权限组件介绍 Django REST framework(DRF)中的权限组件用于控制API的访问权限。 DRF内置了多个常用的权限类,同时也允许你创建自定义的权限类以满足特定需求。 【二】内置权限类 IsAuthenticated:要求用户在访问API时进行身份验证
阅读全文
摘要:DRF之Response源码分析 【一】响应类的对象Response源码 【1】路由 from django.contrib import admin from django.urls import path from book import views urlpatterns = [ path('
阅读全文
摘要:DRF之登录认证源码分析 【一】引入 【1】表模型 from django.db import models # Create your models here. class UserInfo(models.Model): name = models.CharField(max_length=32)
阅读全文
摘要:DRF之分页类源码分析 【一】分页类介绍 Django REST framework(DRF)是一个用于构建Web API的强大工具,它提供了分页功能,使你能够控制API响应的数据量。 在DRF中,分页功能由分页类(Paginator Class)来管理。 【二】内置分页类 在DRF中,分页类通常位
阅读全文
摘要:DRF之过滤类源码分析 【一】过滤类介绍及BaseFilterBackend Django REST framework(DRF)中的过滤类允许你在API视图中对查询进行过滤,以根据特定条件筛选结果集。 过滤类是DRF的一部分,它允许你轻松地添加各种过滤选项,以满足不同用例的需求。 class Ba
阅读全文
摘要:DRF之排序类源码分析 【一】排序类介绍 在Django REST framework (DRF)中,排序类用于处理API端点的排序操作,允许客户端请求按特定字段对数据进行升序或降序排序。 排序类是一种特殊的过滤类 DRF提供了内置的排序类,并且你也可以自定义排序类以满足特定的需求。 【二】内置排序
阅读全文
摘要:DRF之请求执行流程和APIView源码分析 【一】路由入口 from django.contrib import admin from django.urls import path from book import views urlpatterns = [ path('admin/', adm
阅读全文
摘要:DRF之异常捕获源码分析 【一】异常捕获介绍 Django Rest Framework(DRF)是一个用于构建Web API的强大框架,它提供了一种处理异常的机制,使开发人员能够捕获和处理各种异常情况。 DRF中的异常捕获类是用于捕获和处理这些异常的关键组件之一。 【二】异常捕获流程分析 # 全局
阅读全文
摘要:DRF之JWT签发Token源码分析 【一】JWT介绍 JWT(JSON Web Token)是一种用于身份认证和授权的开放标准(RFC 7519)。 它基于JSON格式定义了一种安全的令牌,用于在客户端和服务器之间传输信息。 【二】JWT三段式 JWT(JSON Web Token)是一种用于身份
阅读全文
摘要:1 反序列化更新,instance 就传要修改的对象,保证修改完成 def update(self, instance, validated_data): publish_id = validated_data.pop('publish') author_id = validated_data.po
阅读全文
摘要:DRF (1)API接口 前端和后端进行交互,前端按照约定请求URL路径,并传入相关参数,后端服务器接收请求,进行业务处理,返回数据给前端。 为了在团队内部形成共识、防止个人习惯差异引起的混乱,我们需要找到一种大家都觉得很好的接口实现规范,而且这种规范能够让后端写的接口,用途一目了然,减少双方之间的
阅读全文
摘要:BBS博客园项目 BBS表设计 1. 用户表 继承AbstractUser 扩展 phone 电话号码 avatar 用户头像 is_deleted 是否删除 create_time 创建时间 外键字段 一对一个人站点表 2. 个人站点表 site_time 站点名称 site_title 站点标题
阅读全文
摘要:Django中间件 (1)介绍 django中间件是django的门户 请求来的时候需要经过中间件才能到达真正的django后端 响应走的时候最后也需要经过中间件才能发送出去 django支持程序员自定义中间件并且暴露给程序员五个可以自定义的方法 process_request process_re
阅读全文
摘要:csrf跨站请求伪造 (1)介绍 钓鱼网站 我搭建一个跟正规网站一模一样的界面(中国银行) 用户不小心进入我们的网站,用户给某个人打钱 打钱的操作确确实实是提交给了中国银行的系统,用户的钱也确确实实减少了 但是唯一不同的是打钱的账户不是用户想要转过去的账户 内部本质 在钓鱼网站的页面,针对对方账户,
阅读全文
摘要:CBV添加装饰器 from django.utils.decorators import method_decorator (1)添加在函数上 class CbvTest(View): @method_decorator(login_auth) def get(self): return HttpR
阅读全文
摘要:auth模块 (1)介绍 其实我们在创建好一个Django项目之后直接执行数据库迁移命令会生成很多表 django_session auth_user django在启动之后就可以直接访问admin路由,需要输入用户名和密码,数据参考的就是auth_user表,并且还必须是管理员用户才能进入 (2)
阅读全文
摘要:forms组件 (1)介绍 Forms组件是用来处理用户提交的数据,并将其转换成Python可处理的数据类型。Forms组件提供了一种简单的方式来定义表单的结构以及验证用户输入的数据。通过使用Forms组件,你可以有效地处理用户输入的数据,包括验证、转换以及显示错误信息。 (2)基本使用 from
阅读全文
摘要:Ajax (1)简介 Ajax(Asynchronous JavaScript and XML)翻译成中文就是异步的Javascript和XML。 Ajax最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。 AJAX不需要任何浏览器插件,但需要用户允许Javascri
阅读全文

浙公网安备 33010602011771号