随笔分类 - 每日学习
摘要:一、redis简介 介绍: redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop
阅读全文
摘要:一、模型部分 1 关于ForeignKey 1.1 级联 在django2版本以上,外键关联的数据需要设置级联更新 xxx = models.ForeignKey(关联的表,on_delete=model.CASCADE) # 级联操作需要注意,如果是一对一的关联,那没问题应该级联删除 # 但如果是
阅读全文
摘要:一、安装 #1 pip3 install scrapy(mac,linux) #2 windows上(80%能成功,少部分人成功不了) 1、pip3 install wheel #安装后,便支持通过wheel文件安装软件,wheel文件官网:https://www.lfd.uci.edu/~gohl
阅读全文
摘要:如果我们要用排序,那么写的视图类就必须直接或间接继承ListModelMixin,因为其内部有帮我们排序的放方法 ListModelMixin # 调用了视图类对象的filter_queryset方法 queryset = self.filter_queryset(self.get_queryset
阅读全文
摘要:一、同源策略 同源策略:请求的url地址,必须与浏览器上的url地址处于同域上,也就是域名,端口,协议相同 比如:我在本地上的域名是127.0.0.1:8000,请求另外一个域名:127.0.0.1:8001一段数据 浏览器上就会报错,这就是同源策略的保护,如果浏览器对javascript没有同源策
阅读全文
摘要:一、普通加速 """ 1、采用国内源,加速下载模块的速度 2、常用pip源: -- 豆瓣:https://pypi.douban.com/simple -- 阿里:https://mirrors.aliyun.com/pypi/simple 3、加速安装的命令: -- >: pip install
阅读全文
摘要:一、自动签发 urls from rest_framework_jwt.views import obtain_jwt_token # 使用jwt自带的登录视图 urlpatterns = [ path('login/', obtain_jwt_token), ] settings import d
阅读全文
摘要:一、drf频率源码分析 from rest_framework.throttling import SimpleRateThrottle # 在频率限制中最重要的方法就是allow_request # 可以直接去频率类的顶级父类里找,告诉我们如果要写频率限制,就必须重写这个方法,返回值True/Fa
阅读全文
摘要:一、三种分页模式 1 PageNumberPagination from rest_framework.pagination import PageNumberPagination,LimitOffsetPagination,CursorPagination class Mypagination(P
阅读全文
摘要:一、模型 from django.db import models # Create your models here. class Basemodel(models.Model): create_time = models.DateTimeField(auto_now_add=True) last
阅读全文
摘要:一、权限 1 权限源码分析 # APIView >dispatch > self.initial(request, *args, **kwargs) # >self.check_permissions(request) > def check_permissions(self, request):
阅读全文
摘要:一、路由 三种路由配置 1 没有继承视图集的视图类 # urls.py path('books4/', views.Book4View.as_view()), re_path('books4/(?P<pk>\d+)', views.Book4DetailView.as_view()) 2 继承了视图
阅读全文
摘要:一、请求 1 定义 REST framework 传入视图的request对象不再是Django默认的HttpRequest对象,而是REST framework提供的扩展了HttpRequest类的Request类的对象。 由于这个Request类内部重写了__getattr__方法,所以原来的r
阅读全文
摘要:Q:序列化组件有什么用? A:序列化阶段,能把模型对象转化成字典 反序列化阶段,能把客户端发送来的数据经过request变成的字典转化成模型对象,并完成校验 一、创建一个序列化器 在settings中注册rest_framework 在模型里写上序列化器要用的表 在应用下创建一个py文件 fro
阅读全文
摘要:这是一种web api接口的设计风格,比较适用于前后端分离的项目,它的特点就是一切数据都是资源。 与编程语言无关,任何一个框架都可以使用这种规范。 一、数据的安全保障 url链接一般采用https进行传输,相比于http更加安全 二、接口特征表现 用api关键字表示接口url: https://ap
阅读全文
摘要:一、CBV源码解析 在我们写cbv的时候在url中和fbv的区别就是是否调用了as_view()方法,所以关键入手点就是这个方法 @classonlymethod # 这是类的绑定方法,这个cls是我们创造的类 def as_view(cls, **initkwargs): def view(req
阅读全文
摘要:一、python入门day1-day24 day01-03 编程语言 python是一种强类型的解释型语言 day04 变量 变量名不能以数字开头 小整数池的范围[-5,256],pycharm里这个范围非常大 这是为了优化内存的合理安排 指向相同数字的变量名id相同 day05 垃圾回收机制(GC
阅读全文
摘要:一、__str__ 改变对象的字符串显示,可以理解为print打印对象的显示 class Student: def __init__(self, name, age): self.name = name self.age = age # 定义对象的字符串表示 def __str__(self): r
阅读全文
摘要:一、关于编辑器 python开发:pycharm(收费),vscode(免费),sublintext, go开发:goland(收费),vscode,国产的 java:idea(收费),eclipse(免费),MyEclipse(收费) android:androidstudio(免费),eclip
阅读全文
摘要:一、序列化器的基本功能 序列化的基本功能:序列化和反序列化 序列化 序列化器把通过orm得到的模型对象转化成字典,提供给视图转化成json数据发送给客户端 反序列化 把从客户端发送的数据通过视图调用request以后转化成字典,序列化器可以把字典转换成模型对象 反序列化有数据校验功能(类似form组
阅读全文

浙公网安备 33010602011771号