
django、drf
文章平均质量分 56
django基础、项目实践
知行合一cc
这个作者很懒,什么都没留下…
展开
-
27. RBAC、xadmin、django缓存、django信号
rbac、xadmin、django缓存、信号一、RBAC-基于角色的访问控制1、概念2、应用3、前后台权限控制4、django内置的RBAC(六表)二、xadmin的使用1、介绍2、使用(django2.x)3、全局配置和界面美化三、django缓存1、缓存介绍2、缓存位置3、缓存粒度3.1 单页面缓存(常用)3.2 局部缓存3.3 整站缓存(两个中间件)4、前后端分离后缓存使用四、django信号1、django信号介绍2、Django内置信号3、内置信号的使用(两种方式)4、信号的应用场景:5、自定义原创 2020-11-19 19:47:27 · 545 阅读 · 0 评论 -
26. 基于jwt的多种方式登录、token签发、群数据操作
基于jwt的多种方式登录、token签发、群数据操作一、基于jwt的多方式登录路由视图序列化类二、自定义user表,签发token,认证类表模型路由视图三、book,publish,author表关系及抽象表建立四、book表单增群增五、book表单查群查六、book表单改群改七、book表的单删群删八、序列化类九、路由拓展一、基于jwt的多方式登录1、登录方式: 手机号+密码、用户名+密码、邮箱+密码2 流程分析(post请求): -路由:自动生成 -视图类:ViewSet(ViewS原创 2020-11-19 19:46:19 · 800 阅读 · 0 评论 -
25. jwt认证和基本使用
jwt认证及基本使用1、JWT的构成2、JWT认证原理:二、base64介绍及使用三、jwt基本使用四、控制登录接口返回的数据格式八、自定义基于jwt的认证类1、JWT的构成JWT就是一段字符串,由三段信息构成的,将这三段信息文本用.链接一起就构成了Jwt字符串。示例· eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95Or原创 2020-11-19 19:45:54 · 323 阅读 · 0 评论 -
24. drf分页器、全局异常、封装、接口文档
drf分页器、全局异常、Response对象封装、接口文档生成一、三种分页器的使用1、PageNumberPagination:普通分页2、LimitOffsetPagination:偏移分页3、CursorPagination:游标分页(优点速度快)二、全局异常三、封装Response对象四、自动生成接口文档一、三种分页器的使用1、内置的三种分页器 - PageNumberPagination:普通分页(最常用) - LimitOffsetPagination:偏移分页 - Curs原创 2020-11-19 19:45:37 · 278 阅读 · 0 评论 -
23. drf频率的配置
drf频率限制配置一、自定义频率类(了解)二、内置频率类使用三、内置,第三方过滤功能四、排序功能一、自定义频率类(了解)1、作用:限制某个user、或某个ip(匿名用户)的访问频次2、自定义频率类及使用# 分析:根据ip进行频率限制,如每分钟只能访问3次# 实现限制的逻辑: - 步骤(1):取出访问者的ip - 步骤(2):判断:- 若前用户ip不在访问字典里-->添加进去,并且返回True,表示第一次访问; - 若ip在访问字典里面--->继续往下走原创 2020-11-19 19:45:03 · 179 阅读 · 0 评论 -
22. drf认证、权限
@toc一、认证功能源码分析# 1. 所以的请求来了都会走APIView的dispatch方法(as_view方法中有个dispatch方法)APIView---> dispatch--->self.initial(request,*args,**kwargs)---> self.perform_authentication(request)--->request.user(不是原生的request.user,而是新的Request对象的user方法)--> self.原创 2020-11-19 19:44:46 · 252 阅读 · 0 评论 -
21. drf视图组件
drf视图组件一、2个基类二、5个视图扩展类三、9个视图子类四、视图集五、action的使用六、路由的使用1、配置路由的方式2、自动生成路由3、action一、2个基类# django RESTframework提供的视图的主要工作 控制序列化器的执行(检验、保存、转换数据) 控制数据库查询的执行# 基类: #1. APIView: from rest_framework.views import APIView 继承了原生的django的View #2.原创 2020-11-19 19:43:28 · 296 阅读 · 0 评论 -
20. drf序列化器
drf的序列化器一、修改和删除操作的接口二、高级用法——sourse三、模型类序列化器四、高级用法——SerializerMethodField五、drf的请求与响应六、many=True、局部全局钩子——源码解析一、修改和删除操作的接口views.py def delete(self, request, id, *args, **kwargs): dic = {'code':100, 'msg':'删除成功'} book = models.Book.object原创 2020-11-19 19:43:00 · 224 阅读 · 0 评论 -
19. drf相关基础
django-rest-framework相关基础一、drf 内容概况二、web开发模式三、API接口四、postman的使用五、drf的安装六、cbv源码回顾七、RESTful规范八、APIview源码分析九、Request类分析十、序列化组件介绍十一、序列化组件简单使用1、序列化的使用步骤2、代码实现十二、序列化类字段类型和字段参数十三、序列化器的保存功能十四、序列化器的字段校验功能十五、read_only和write_only属性一、drf 内容概况1 django-rest-framework:原创 2020-11-19 19:42:37 · 734 阅读 · 0 评论 -
17. auth模块
django的auth模块一、auth模块是什么?二、auth模块常用方法三、User对象的属性四、扩展默认的auth_user表方式一:通过关联方式二:通过继承五、自定义中间表(中介模型)一、auth模块是什么?# auth是django自带的用户认证模块:开发网站的时候可避免的需要设计实现网站的用户系统。此时我们需要实现包括用户注册、用户登录、用户认证、注销、修改密码等功能。Django内置了强大的用户认证系统--auth,它默认使用 auth_user 表来存储用户数据。二、auth模块常原创 2020-11-18 15:22:20 · 752 阅读 · 0 评论 -
16. django的中间件
django中间件一、中间件简介1、什么是中间件?2、作用二、自定义中间件1、process_request和process_response2、自定义中间件步骤三、中间件的几个主要方法1、process_request(request对象)2、process_response(request对象, response对象)3、process_view4、process_exception5、process_template_response(用的比较少)四、CSRF_TOKEN跨站请求伪造1、 CSRF是什原创 2020-11-18 15:16:38 · 676 阅读 · 0 评论 -
15. cookie、session、token
cookie、session、token一、cookie1、cookie的由来2、cookie是什么?3、cookie的原理4、Cookie规范4、django中操作cookie(增删改查)5、带签名的cookie(加盐、加密)二、Session1、Session的由来2、django中session的使用3、django中session的配置三、CBV中加装饰器一、cookie1、cookie的由来会话跟踪大家都知道HTTP协议是无状态的。无状态的意思是每次请求都是独立的,它的执行情况和结原创 2020-11-18 15:13:12 · 970 阅读 · 1 评论 -
14. django的分页器和form组件
django分页器、form组件一、django的分页器1、django的分页器简介2、模板示例:3、分页器的进阶使用二、form表单组件介绍1、form表单组件的介绍2、forms校验字段功能3、forms渲染模板功能三、form组件渲染错误信息四、forms组件参数配置1、forms组件参数配置2、局部钩子和全局钩子五、form组件校验源码一、django的分页器1、django的分页器简介在页面显示分页的数据时,需要用到django的分页器组件# django中的分页器组件,把分页常用的东西,原创 2020-11-18 15:12:46 · 456 阅读 · 0 评论 -
13. django高级之ajax
django高级之ajax一、ajax知识储备1、什么是json?2、stringify与parse方法3、和XML的比较二、AJAX简介三、ajax的简单使用四、ajax上传文件五、ajax提交json数据六、django内置序列化器(了解)一、ajax知识储备1、什么是json?- json指的是JavaScript对象表示法(JavaScript Object Notation)- json是轻量级的文本数据交换格式- json独立于语言和平台,json解释器和json库支持多种不同的编程语原创 2020-11-18 15:12:23 · 225 阅读 · 0 评论 -
12. django多表查询part2
多表查询part2一、聚合查询与分组查询1、聚合查询2、分组查询二、F和Q查询1、F查询2、Q查询三、原生sql四、defer和only五、事务(请求,装饰器,局部)1、事务的三个粒度:六、锁1、行级锁2、表级锁3、页级锁一、聚合查询与分组查询1、聚合查询聚合函数包括:Avg、Max、Min、Count、Sumaggregate(*args,**kwargs) - aggregate()是QuerySet的一个终止子句,返回一个包含一些键值对的字典,键的名称是聚合值的标识符(按照字段和聚合函数的名原创 2020-11-18 15:11:55 · 650 阅读 · 0 评论 -
11. django多表查询part1
django多表查询part1一、多表操作之模型创建1、多张表的关系:2、 models.py中建立出来3、同步到mysql数据库4、 注意点:二、一对多添加表记录三、多对多添加、修改、删除记录四、基于对象的跨表查询(重点)1、基于对象的跨表查询(子查询):2、基于双下划线的跨表查询五、连续跨表一、多表操作之模型创建1、多张表的关系:1、图书表:book,作者表:author,作者详情表:author_detail,出版社表:publish,作者与书之间的中间表2、作者和作者详情:是一对一,关联字段原创 2020-11-18 15:11:29 · 319 阅读 · 0 评论 -
10. django模型层
django模型层一、django ORM一些说明二、创建模型三、单表增加四、单表查询五、字段与参数1、常用字段2、字段参数3、元数据六、打印原生SQL七、查询表记录API(需要重点掌握)八、基于双下划线的模糊查询九、删除表记录十、修改表记录十一、python脚本中调用django环境十二、补充一、django ORM一些说明- 表myapp-person的名称是自动生成的,如果想要自定义表名,需要在model的Meta类中指定db_table参数,建议使用小写表名,特别是使用Mysql作为后端数据库时原创 2020-11-18 15:10:34 · 422 阅读 · 0 评论 -
09. django模版层
模版层介绍一、模版简介1、为什么不直接将HTML编码到视图层?2、python的模版使用方式:3、模版语法重点:4、注释二、模版语法之变量1、模版中使用{{python变量}}三、模版语法之深度查询句点符四、模版渲染成标签还是原封不动的字符串五、过滤器1、常用内置过滤器六、模版语法之标签1、常用标签2、注意事项七、自定义标签与过滤器1、自定义过滤器2、自定义标签八、模板的导入与继承1、模板的导入2、模板的继承(母版)九、静态文件相关十、inclusion_tag的使用一、模版简介1、为什么不直接将HTM原创 2020-11-18 15:09:58 · 517 阅读 · 0 评论 -
08. django视图层
django视图层原创 2020-11-18 15:09:11 · 175 阅读 · 0 评论 -
07. django转化器
django之转化器一、django 2.0版本的path二、path转化器三、自定义转换器(了解)一、django 2.0版本的path1、从2.x以后,建议使用path——是一个准确路径2、如果使用正则方式,建议使用re_path,用法与1.x的url完全一致二、path转化器#1、五个内置转化器 - str:匹配除了路径分隔符(/)之外的非空字符串,这是默认的形式 - int:匹配正整数,包括0 - slug:匹配字母、数字、下划线以及横杠组成的字符串 - uui原创 2020-11-17 21:18:26 · 369 阅读 · 1 评论 -
06. django连接mysql、路由层、有名分组、路由分发、名称空间
django连接mysql、简单路由配置、有名分组、路由分发、方向解析、名称空间一、django连接mysql二、pycharm操作sqlite和mysql三、路由层之简单路由配置四、路由层之APPEND_SLASH五、有名分组、无名分组六、路由分发七、反向解析八、名称空间一、django连接mysql1、如果使用sqlite,不需要额外配置,直接操作即可(django默认支持sqlite)2、django默认情况连接mysql,用的驱动是mysqldb模块,python3.x以后,不支持这个模块了原创 2020-11-17 21:16:47 · 327 阅读 · 1 评论 -
05. 用户注册登录展示小案例
用户注册登录展示小案例一、views.py文件二、urls.py文件(路由设置)三、models.py文件四、settings.py文件末尾增加五、templates文件1、index.html2、login.html文件3、register.py文件4、userlist.py文件一、views.py文件from django.shortcuts import render, redirect, HttpResponseimport pymysqlfrom app01 import models原创 2020-11-17 21:15:34 · 229 阅读 · 0 评论 -
04. django ORM、连接sqlite
orm连接数据库查询一、登录功能,连接mysql1、路由2、视图函数3、模板文件login.html二、ORM概述三、pycharm连接sqlite/mysql四、django中orm的使用1、创建表、新增删除子段的步骤:2、插入数据(以userInfo表为例)3、orm查询表内所有数据:一、登录功能,连接mysql1、路由url(r'^login', views2.login),url(r'^index', views2.index),url(r'^test', views.test),2、原创 2020-11-17 21:14:20 · 508 阅读 · 0 评论 -
03. django入门
@toc一、django目录介绍-day60 项目名 -app01 app的名字 -migrations 数据库变更相关记录(你不要删,也不要改) -admin.py 后台管理(创建项目如果没有选,就没有) -apps.py app的相关配置,不用管 -models.py 数据库相关(重点) -tests.py 测试相关(不用管) -views.py 视图函数(原创 2020-11-17 21:11:19 · 417 阅读 · 1 评论 -
02. Django简介
一、django安装与简单使用1、Django的版本:1.x 2.x 3.x 版本之间是有差距的2、安装的几种方式 - 在cmd中敲:pip3 install django==1.11.9 (不写==就默认装最新的版本3.x) - pycharm中--》setting--》解释器--》点+号,选择版本安装 - pycharm中的Terminal中敲 pip3 install django==1.11.93、装完以后会多一个django-admin的命令,在D:\python38\S原创 2020-11-17 21:10:12 · 98 阅读 · 1 评论 -
01. 初识Django
Django一、web应用1、web应用2、bs、cs架构二、基于socket写一个web应用1、main.py2、index.html3、http协议4、请求协议(浏览器发出来的)5、响应协议6、响应状态码四、URL简介五、web框架1、wsgiref模块六、Django与其他web框架的区别一、web应用1、web应用web应用就是一种可以通过web访问的应用程序#1、优点: - 不需要客户端,只需要一个适用的浏览器; - 更新直接在服务端更新,客户端感知不到; - web应用原创 2020-11-17 21:09:13 · 237 阅读 · 0 评论