随笔分类 - Django
Django-Ajax使用
摘要:一、ajax简介 Ajax,(asynchronous JavaScript and XML)全名翻译为:异步的JavaScript 和XML。这里有三个重点,异步,js,xml 同步交互:客户端发出一个请求后,需要等待服务器响应结束后,才能发出第二个请求; 异步交互:客户端发出一个请求后,无需等待
Django-Auth组件
摘要:一、auth组件介绍 在日常的开发中,我们会必定会写的一个功能就是注册,登录,认证,注销且这部分的代码逻辑基本相似。所以django为了我们内置了一个用户认证组件,auth组件,他属于和我们自己创建的app一个级别 二、内置属性方法 auth组件的内置属性与方法都需要数据迁移之后才能使用,当我们数据
Django-choice用法
摘要:一、使用场景 当我们存储数据时,可能不想存整个字段,比如,男女性别,希望在数据库中存1,0 二、原理 choice接收一个元组(保证值不可变),同理每一个选项也是由一个元组(value,display_name)构成。 获取displayname 通过属性取value,通过 get_属性_displ
Django-Cookie和session组件
摘要:一、cookie session token cookie:客户端浏览器上的键值对 session:存在服务端的键值对 token:加密的键值对,如果放在客户端浏览器上,它就叫cookie,它是服务端签发的加密字符串 详细解读可看:https://www.cnblogs.com/liuqingzhe
Django-DRF
摘要:一、DRF简介与安装 1.简介 drf:djangorestframework,是一个基于django的包,相当于我们自己的app,使用前需要在配置文件中注册 作用:更快速在django框架上的写接口 2.安装 命令行中: pip3 install djangorestframework pycha
Django-DRF分页器
摘要:drf内置了三种分页器 PageNumberPagination:普通分页(用的最多) LimitOffsetPagination:偏移分页(用的第二多) CursorPagination:游标分页(在数据类很大情况下使用,因为使用游标,所以查询最快,但是只能查当前页的前后各一页) 三个基类的位置
Django-DRF全局异常捕获,响应封装,自动生成接口文档
摘要:一、全局异常 1 统一接口的返回方式,即便视图函数执行出错 2 使用方式,写一个函数,并在setting中配置 from rest_framework import status from rest_framework.views import exception_handler from rest
Django-DRF认证,权限,限频,过滤,排序
摘要:一、DRF自定义认证使用 # 1 定义一个类,继承BaseAuthentication,重写authenticate方法 class LoginAuth(BaseAuthentication): def authenticate(self, request): token = request.GET
Django-DRF认证
摘要:一、drf认证功能介绍 drf在请求进到视图函数的过程中,会进行认证相关的工作。 0 认证,频率,权限 1 用户是否登录到系统中 2 后期基本上会用JWT的认证 3 自定制的认证 二、认证功能源码分析 1 APIView 》dispatch 》self.initial(request, *args,
Django-Forms组件
摘要:一、forms组件介绍 在我们只做项目的过程中,比如注册功能,登录功能等肯定是需要校验的。校验通常在前端和后端都会进行,前端校验可以做一些简单的逻辑判断,减少服务器压力,且对于一些非法数据直接过滤。后端的校验可以说是安全的保障,因为对于专业人士来说,完全可以自己模拟http请求,绕过前端的校验。比如
Django-ORM操作
摘要:一、orm概述 1 orm:对象关系映射(跟语言无关) 数据库中的表 》对应程序的一个类 数据库中的一行数据 》对应程序中的一个对象 2 python中常见orm框架 -django的orm框架 -sqlachemy的orm框架 3 java:(扩展),java中写web项目 ssh框架 :spri
Django-安装与基础
摘要:一、Django安装 django发展到目前,已经有三个大版本,三个版本之间是有些差距的。但是总体是不变的 1.安装 1. -在cmd中敲:pip3 install django==1.11.9 #如果不写安装版本,默认装最新版本(3.x) 2. -pycharm中--》setting--》搜索框搜
Django-分页器
摘要:一、分页器组件介绍 项目数据量大了以后,比如涉及到分页,一页一页的加载显示 django中分页器组件,把分页常用的东西,封装到一个类中 实例化得到一个对象,对象里有属性和方法 二、分页器的简单使用 #1 Paginator对象的属性和方法 book_list=models.Book.objects.
Django-基于Cookie的登录
摘要:基础版 写2个路由和视图函数,一个是登录,写入cookie,访问order,必须登录以后才能访问,否则重定向到登录页面,order页面实现退出功能,清除cookie,利用登录认证装饰器,必须登录之后获取到了cookie才能进入order函数 模板文件:login页面三个input标签,分别为用户名,
Django-基于session的登录
摘要:基于session写一个登录认证装饰器,四个视图(登录,退出,订单,用户信息),使用cbv 一、路由 path('', views.Login.as_view(),name='login'), path('out/', views.Out.as_view()), path('userinfo/',
Django-利用orm批量插入
摘要:bulk_create方法 bulk_create方法是django orm特地提供给我们的方便批量操作数据库的方式,效率非常高。 将views.py中原先的视图函数稍作变化 以下例子为实现向数据库一次性插入一万条数据。 def get_book(request): l = [] for i in
Django-路由控制
摘要:一、路由层之简单路由配置 1 路由参数 # 第一个参数是正则表达式 # 第二个参数是视图函数内存地址 # 第三个参数是个字典 {'name':lqz,'age':18},给视图函数传递默认值 # 第四个参数name,当前路由的别名,用作反向解析 url(r'^home2/', views.home,
Django-模板层
摘要:一、django模板使用的两种方式 本质:打开模板文件,字符串替换,retern HttpRespnse('替换完的字符串') view.py # 方式一 def index(request): return render(request,'time.html',context={'current_
Django-视图层
摘要:一、视图层之请求对象 def index(request): ''' request:django封装的对象,它的类是WSGIRequest,它里面包含了所有http请求的东西 ''' print(request) print(type(request)) # from django.core.ha
Django-视图组件
摘要:Django REST framwork 提供的视图的主要作用: 1.控制序列化器的执行(检验、保存、转换数据) 2.控制数据库查询的执行 一、两个视图基类 先上结论: APIView:如果跟models没有关系(没有数据库相关操作),就继承它 GenericAPIView:有关数据库操作,quer