- 博客(152)
- 收藏
- 关注
原创 docker: 镜像和容器基本操作
dockerdocker介绍,与传统虚拟机比较:docker不需要虚拟硬件和操作系统,轻量级,占用体积小,启动快。VMware,kvm:底层是在一个很强健的操作系统上虚拟出很多操作系统。现在使用的很多与服务器就是通过vm或kvm虚拟化出,阿里云,腾讯云再使用opensatck(开源),阿里飞天等管理虚拟化的操作系统,docker:进程级别隔离。在自己的阿里云服务器上安装doker...
2022-05-15 16:12:00
435
原创 requests:代理池,上传文件
长链接转短连接,本质重定向,前提有一个短域名。前端用户发送请求生成短连接,服务端收到post请求,将长链接存入数据库,返回一个随机字符串拼接在短域名后面给用户,用户下次那个短连接来登录,发送get请求,服务端收到用户输入地址,拿着长链接到后端比较取到长链接地址并重定向。requests高级用法:1、SSL Cert Verification-->证书验证#证书验证(大部分网站都是h...
2022-05-09 15:28:00
4360
原创 python @property的介绍与使用
python @property的介绍与使用python的@property是python的一种装饰器,是用来修饰方法的。作用:我们可以使用@property装饰器来创建只读属性,@property装饰器会将方法转换为相同名称的只读属性,可以与所定义的属性配合使用,这样可以防止属性被修改。举例:修饰方法,是方法可以像属性一样访问。class DataSet(object): @p...
2022-04-29 17:20:00
346
原创 celery
celeryCelery 官网:http://www.celeryproject.org/Celery 官方文档英文版:http://docs.celeryproject.org/en/latest/index.htmlCelery 官方文档中文版:http://docs.jinkan.org/docs/celery/Celery是一个简单、灵活且可靠的,处理大量消息的分布式系统cel...
2022-04-28 20:35:00
370
1
原创 redis
redis什么是RedisRedis(Remote Dictionary Server) 是一个使用 C 语言编写的,开源的(BSD许可)高性能非关系型(NoSQL)的键值对数据库。Redis 可以存储键和五种不同类型的值之间的映射。键的类型只能为字符串,值支持五种数据类型:字符串、列表、集合、散列表、有序集合。与传统数据库不同的是 Redis 的数据是存在内存中的,所以读写速度非常快,...
2022-04-28 20:33:00
267
原创 drf : RBAC JWT base64编码与解码
目录simple-ui的简单介绍RBAC: 基于角色的访问控制。前后台权限控制Django的内置RBAC(六表)Django-admin 演示Django-admin 自带的六张表。补充知识:base64: 编码与解码JWT认证token发展史JWT的构成 ---> 三段式 ---> 每段都是使用base64编码。典型的JWT串样式, 通过 . 分割成三段:构成和工作原理JWT的构成...
2022-04-11 16:11:00
936
原创 drf : 频率源码分析
频率组件一、自定义频率组件自定义的逻辑#(1)取出访问者ip# (2)判断当前ip不在访问字典里,添加进去,并且直接返回True,表示第一次访问,在字典里,继续往下走# (3)循环判断当前ip的列表,有值,并且当前时间减去列表的最后一个时间大于60s,把这种数据pop掉,这样列表中只有60s以内的访问时间,# (4)判断,当列表小于3,说明一分钟以内访问不足三次,把当前时间插入到列表...
2022-04-11 15:44:00
176
原创 drf : 自动生成接口
自动生成接口REST framework可以自动帮助我们生成接口文档。接口文档以网页的方式呈现。自动接口文档能生成的是继承自APIView及其子类的视图。后端写好接口,编写接口文档,给前端人员看,前端人员按照接口文档开发。后端使用world,md写,提到git上。公司有接口平台,后端开发在接口平台录入(yapi,或者第三方),可批量导入。后端项目自动生成接口文档:django的dr...
2022-04-11 15:39:00
376
原创 drf : 异常处理以及自定义异常处理
异常处理在APIView的源码中,执行三大认证,视图类方法的时候,如果出现了异常,会被全局异常捕获。我们想要做的事将报错信息展示为自定义的错误信息。eg:报错: {code:999,msg:服务器异常,请联系系统管理员}成功: {code:100,msg:成功,data:[{},{}...]}自定义APIException,此时我们自定义异常,那么异常捕获会优先使用自定义。...
2022-04-11 15:34:00
1797
原创 drf : 过滤 排序 分页
目录过滤和排序过滤,内置的过滤,必须继承GenericAPIView,才会有这个类属性。views.py排序过滤和排序组合第三方过滤第三方过滤查询多个自定义过滤器分页基本分页,使用频率高:PageNumberPagination偏移分页: LimitOffsetPaginationCursorPagination,一般用作体量非常大或者手机端的查询。总结:PageNumberPagination...
2022-04-11 15:30:00
388
原创 drf : 认证 频率 权限
编写登录功能引出认证,权限,频率:前端通过接口测试工具Postman将用户名和密码通过HTTP请求发送至Django框架models.pyfrom django.db import models# Create your models here.class Books(models.Model): name = models.CharField(max_length=32)...
2022-04-11 15:24:00
177
原创 drf : 自动生成路由,视图层自定义方法,路由映射方法,action参数。
扩展一个知识点: 在Django中,代码只要顶格编写,程序一运行,代码将直接执行。目录drf路由Routers路由router形成URL的方式路由之DefaultRouter()路由之SimpleRouter()DefaultRouter与SimpleRouter的区别是:视图层自定义方法,路由映射方法。action参数:总结:drf路由Routers自动生成路由需要继承ViewSetMixi...
2022-04-11 15:19:00
776
原创 drf : 通用视图类和(GenericAPIView)5个视图扩展类,九个视图子类,视图集。
视图REST framework 提供了众多的通用视图基类与扩展类,以简化视图的编写。APIViewrest_framework.views.APIViewAPIView是REST framework提供的所有视图的基类,继承自Django的View父类。GenericAPIView使用[通用视图类]继承自APIVIew,主要增加了操作序列化器和数据库查询的方法,作用是为下面Mixi...
2022-04-01 20:52:00
770
2
原创 drf : 请求(Request)与响应(Response),全局设置和局部设置drf的默认配置项。
请求(Request)与响应(Response)请求(Request),当次的HTTP响应请求到Django中被封装成python中的对象request.data - POST, PUT请求的数据request.query_params -GET请求的数据REST framework 传入视图的request对象不再是Django默认的HttpRequest对象,而是REST fra...
2022-04-01 19:25:00
663
原创 drf : 序列化类使用many参数的作用,源码解析
序列化类使用many参数的作用views.pyfrom rest_framework.views import APIViewfrom .serizlizer import BookSerializersfrom rest_framework.response import Responsefrom .models import Booksclass BookView(APIVi...
2022-04-01 19:17:00
441
原创 Django 字段类型,字段参数,以及在drf中的使用。
字段类型# models中CharField,DecimalField.....# 记住的: CharField IntegerField FloatField DecimalField DateTimeField DateField# 知道--》models中没有的---》反序列化的时候,前端传入的{name:lqz,age:19,hobby:[篮球,足球]...
2022-04-01 17:32:00
495
原创 drf : 模型类序列化器 以及扩展用法。
模型类序列化器:serializer 的升级。注意,此时表模型自身的校验规则也将映射过来。只需要在serializers中写一个模型类序列化器即可。serializer.py# 模型类序列化器# 此序列化类和表模型有对应关系,映射class PublishModelSerializer(serializers.ModelSerializer): class Meta: ...
2022-04-01 17:28:00
541
原创 drf : source,定制序列化字段以及反序列化新增。局部钩子(validate_字段名),全局钩子(validate)...
source,SerializerMethodField,局部钩子,全局钩子serialzer.py : source用处1对应字段:起别名,用处2对应方法:在表模型中定义一个方法,source可以与其关联用处3对应方法:可以当做字段第三种方法的扩展用法:使用程度高。model.pyfrom django.db import models# Create your mo...
2022-04-01 17:02:00
490
原创 drf : 序列化器Serializer
序列化器Serializer作用:序列化,序列化器会把模型对象转换成字典,经过request以后变成json字符串反序列化,把客户端发送过来的数据,经过request以后变成字典(request.data),序列化器(类)可以把字典转成模型反序列化,完成数据校验功能本质就是写一个类,继承基类。可以完成序列化,反序列化和数据校验。读取数据为序列化,新增为反序列化。通过seriz...
2022-04-01 16:56:00
727
原创 drf : APIView执行流程和新的Request源码。APIView和Request对象分析
DRF基本使用及执行流程分析1. 继承APIView使用2. APIView的执行流程路由: path('Book1',view.Book.as_view()) --> 第二个参数是函数的内存地址 --> APIView的as_view的执行结果 --> 本质还是用了View类的as_viewn内的viewc包函数,去掉了csrf的认证。--> 当请求来了--&...
2022-04-01 16:25:00
340
原创 drf: 序列化和反序列化, Django Rest_Framework 介绍也安装及使用。
序列化与返序列化序列化:将python中的数据类型转换成指定数据类型发送给别人返序列化:接收别人发送过来的数据,返序列化成我们所需要的格式。eg::前端js提供过来的json数据,对于python而言就是字符串,我们需要进行反序列化换成模型类对象,这样我们才能把数据保存到数据库中。Django Rest_Framework核心思想: 缩减编写api接口的代码Django REST f...
2022-04-01 15:02:00
190
原创 HTTP 响应状态码
常见状态码100: 部分请求已经被服务器接收,且仍未被拒绝,客户端应当继续发送请求的剩余部分,post请求时会发2次请求,第一次只把头部发送给服务端确认,服务器返回100时才继续把内容发送给服务端,这样做的目的时万一因为某些原因服务器需要拒绝请求(如没权限),白白发送那么多数据。101:切换协议,如websocket连接时会出现这种情况。200:正常204:服务器成功处理了请求,但无内容...
2022-04-01 14:45:00
154
原创 drf : web应用模式,RESTful API规范,接口测试工具:Postman
Web应用模式前后端不分离前后端分离API接口前后端交互的媒介Web API接口和一般的url链接还是有区别的,Web API 接口简单概括有下面四大特点。url:长得像返回数据的url链接https://api.map.baidu.com/place/v2/search请求方式:get、post、put、patch、delete采用get方式请求上方接口...
2022-04-01 14:41:00
239
原创 Django 中间件以及自定义中间件
Django中间件Django中间件是Django的门户请求来的时候需要先经过中间件才能达到真正的Django后端响应走的时候最后也要经过中间件才能发送出去MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.Session...
2022-03-10 15:38:00
240
原创 Django cookie与session,CBV如何添加装饰器
cookie与session简介会话跟踪技术什么是会话跟踪?我们需要先了解一下什么是会话!可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应。例如你给10086打个电话,你就是客户端,而10086服务人员就是服务器了。从双方接通电话那一刻起,会话就开始了,到某一方挂断电话表示会话结束。在通话过程中,你会向10086发出多个请求,那么这多个请求都在一个会话中。...
2022-03-10 15:36:00
220
原创 Django Forms组件,展示用户输入不合规的提示信息,钩子函数
Form 组件目录forms组件功能forms基本使用校验数据froms组件校验数据只校验类中出现的字段,多传不影响,多传的字段直接忽略froms组件校验数据 默认情况下,类中的所有字段都必须传值。渲染html第一种方式第二种方式第三种渲染方式,推荐使用展示用户输入不合规的提示信息forms组件展示错物信息必备的条件:到此forms组件错误信息介绍完毕,接下补充知识。ValidationE...
2022-03-10 15:32:00
1162
原创 创建虚拟数据 Faker
from faker import Faker#创建对象,默认生成的数据为为英文,使用zh_CN指定为中文fake = Faker('zh_CN')print(fake.name())#随机生成姓名print(fake.address())#随机生成地址print(fake.phone_number())#随机生成电话号码print(fake.pystr())#随机生成字符串pri...
2022-03-10 15:24:00
397
原创 Django 分页器代码
分页器代码:在使用到非Django内置的第三方功能或者组件代码的时候,一般情况下会创建你一个名为utils文件夹,在该文件夹对模块进行功能性划分。utils可以创建在每个应用下。class Pagination(object): def __init__(self, current_page, all_count, per_page_num=2, pager_count=11):...
2022-03-10 15:20:00
146
原创 ajax 结合sweetalert实现二次确认效果,ajax批量插入数据:bulk_create()
ajax结合sweetalert实现二次确认二次确认效果: http://lipis.github.io/bootstrap-sweetalert/点击查看代码<body><div class="container-fluid"> <h1 class="text-center">数据展示</h1> <div clas...
2022-03-06 22:17:00
443
原创 Ajax 发送json格式数据以及发送文件(FormData)和自带的序列化组件: serializers
前后端传输数据的编码格式(contentType)get请求数据就是直接放在url?后面的url?usernmae=junjie&password=123...可以向后端发送post请求的方式form请求ajax请求前后端传输数据的编码格式urlencodedformdatajson研究form表单:默认的数据编码格式是(urlencoded)结论:Dj...
2022-03-06 22:14:00
4180
原创 Ajax 什么是Ajax? Ajax的基本语法
Ajax什么是Ajax?AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML,现在更多使用json数据)。同步交互: 客户端发出一个请求后,需要等待服务器响应结束后,才能发出第二个请求。异步交互: 客户端发出一个请...
2022-03-06 22:01:00
2654
原创 Django 数据库查询优化,choices参数(数据库字段设计常见),MVC和MTV模型,多对多三种创建方式...
数据库查询优化orm语句的特点:惰性查询如果仅仅只是书写了orm语句,在后面没有用到该语句所查询出来的参数,那么orm会自动识别,并不执行举例:res = models.Book.objects.all()# 单单执行此语句Django并不会使用数据库,减轻数据库压力res = models.Book.objects.all()print(res)# 只有用到数据了才会走数据库...
2022-03-06 21:53:00
906
原创 Django orm中常用字段及参数
orm中常用字段及参数列举目前已学习orm常用字段。字段描述AutoField主键字段:primary_key=True但是orm会自动创建主键字段,所以没有使用。CharField字段注释:varbose_name长度:max_lengthIntegerFieldBigIntergerField整型:intDecimalField小数位:max_...
2022-03-06 21:51:00
328
原创 Django F与Q查询以及如何开启事务
F与Q查询# 导入模块from django.db.models import F,Q数据准备:F的功能:能够帮助直接获取到表中某个字段对应的数据,当做查询条件查询卖出数大于库存数的书籍res = models.Book.objects.filter(sold__gt=F('inventory'))print(res)# <QuerySet [<Book: 书籍名字...
2022-03-06 21:50:00
184
原创 Django 多表查询:外键,联表,聚合,分组
多表操作前期准备Models.pyfrom django.db import models# Create your models here.# 书籍class Book(models.Model): title = models.CharField(max_length=32) price = models.DecimalField(max_digits=8, d...
2022-03-06 21:48:00
1026
原创 django查看内部sql语句的方式
方式1res = models.User.objects.values_list('name', 'age') # <QuerySet [('kevin', 16), ('jason666', 55), ('tony', 44), ('oscar', 32)]>print(res.query) # SELECT `app01_user`.`name`, `app01_user`...
2022-03-04 20:10:00
543
原创 Django ORM双下划线查询方法
ORM双下划线查询方法方法描述__gt大于__lt小于__gte大于等于__lte小于等于__in或__range取指定范围内对应数据,并且首尾都要__contains模糊查询,查询出指定字符数据,区分大小写__icontains忽略大小写__startswith查询以指定字符开头数据__endswith...
2022-03-03 17:06:00
357
原创 Django ORM数据查询方法,query查看内部封装sql语句
必知必会13条:ORM数据查询方法准备环境:idnameageregister_time18junjie182004-01-0119nn102004-01-0120tom992022-03-02方法:方法描述all()查询所有数据filter()带有过滤条件的查询get()直接拿到数据对象但条件...
2022-03-03 17:05:00
471
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅