07 2020 档案
摘要:一 介绍 #介绍:使用requests可以模拟浏览器的请求,比起之前用到的urllib,requests模块的api更加便捷(本质就是封装了urllib3) #注意:requests库发送请求将网页内容下载下来以后,并不会执行js代码,这需要我们自己分析目标站点然后发起新的request请求 #安装
阅读全文
摘要:爬虫介绍 # 介绍爬虫 2 urilib3(内置,不好用),requests--模拟发送http请求 3 Beautifulsoup解析,xpth解析 4 selenium模块,操作浏览器 5 Mongodb 6 反爬:代理池,cookie池,请求头中:user-agent,refer,js逆向 7
阅读全文
摘要:1 上线前准备 1.1 前端 上线前配置 settings.js # base_url: 'http://39.99.192.127:8000', // 真实环境:django项目就是跑在8000端口上的 之后编译 # 前端执行 npm run build 把你写的vue代码编译成html,css,
阅读全文
摘要:支付宝支付 入门 """ 1)支付宝API:六大接口 https://docs.open.alipay.com/270/105900/ 2)支付宝工作流程(见下图): https://docs.open.alipay.com/270/105898/ 3)支付宝8次异步通知机制(支付宝对我们服务器发送
阅读全文
摘要:FreeCourse.vue <template> <div class="course"> <Header></Header> <div class="main"> <!-- 筛选条件 --> <div class="condition"> <ul class="cate-list"> <li c
阅读全文
摘要:资源手动迁移 # 头像图片放在 media/teacher 文件夹下 # 课程图片放在 media/course 文件夹下 老师表 使用Navicat的新建查询录入数据 INSERT INTO luffy_teacher(id, orders, is_show, is_delete, created
阅读全文
摘要:课程表分析 course/models.py from django.db import models # Create your models here. # class Course(models.Model): # name = models.CharField(max_length=64)
阅读全文
摘要:本文目录 1 ORM字段 2 ORM字段参数 3 关系字段 4 多对多关联关系的三种方式 5 元信息 6 自定义字段(了解) 1 ORM字段 AutoField int自增列,必须填入参数 primary_key=True。当model中如果没有自增列,则自动会创建一个列名为id的列。 Intege
阅读全文
摘要:Celery 官方 Celery 官网:http://www.celeryproject.org/ Celery 官方文档英文版:http://docs.celeryproject.org/en/latest/index.html Celery 官方文档中文版:http://docs.jinkan.
阅读全文
摘要:目录 双写一致性 1、 简介 redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/po
阅读全文
摘要:短信接口频率限制 # throttlings.py from rest_framework.throttling import SimpleRateThrottle class SMSThrottling(SimpleRateThrottle): scope = 'sms' def get_cach
阅读全文
摘要:腾讯云短信开发 短信服务应用申请 #0 注册一个公众号() -https://mp.weixin.qq.com/ -注册订阅号,一路下一步,申请个人 -截一个图(首页) #1 腾讯云, 注册 实名:-https://console.cloud.tencent.com/smsv2 #2 创建签名 ht
阅读全文
摘要:使用elementui组件 模态登录组件 src/components/Login.vue <template> <div class="login"> <div class="box"> <i class="el-icon-close" @click="close_login"></i> <div
阅读全文
摘要:简介 JavaScript操作cookies是项目中常用的功能,几乎所有浏览器都支持原生的cookies并且后端接口可以直接写入cookies,这点相对于localStore来说也算个小优势,而现在大多数情况下项目开发会选择vue框架,因为vue框架开发效率搞,也更易于后期的升级迭代和维护。那么好的
阅读全文
摘要:# 1 安装git # 2 再pycharm中配置,setting 》git >git.exe的地址 # 3 git clone >等同于下图 # 4 使用pycharm创建本地分支(见下图) # 5 拉取代码,如下图 # 6 push代码,如下图 # 3 # 4 # 5
阅读全文
摘要:1 路飞项目头部组件 1.1 vue 路由跳转的方式 #html中路由跳转 <router-link to="/"> <img src="../assets/img/head-logo.svg" alt=""> </router-link> #js中控制路由跳转 this.$router.push(
阅读全文
摘要:vue路由跳转有四种方式 router-link this.$router.push() (函数里面调用) this.$router.replace() (用法同push) this.$router.go(n) 一、不带参 1.1 router-link(在template中) <router-li
阅读全文
摘要:Abstract base classes 如果你想把某些公共信息添加到很多 model 中,抽象基类就显得非常有用。你编写完基类之后,在 Meta 内嵌类中设置 abstract=True ,该类就不能创建任何数据表。然而如果将它做为其他 model 的基类,那么该类的字段就会被添加到子类中。抽象
阅读全文
摘要:目录 跨域请求 一 同源策略 同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现 请求的url地址,必须与浏览器上的url地址
阅读全文
摘要:Response封装 utils/response.py from rest_framework.response import Response class APIResponse(Response): def __init__(self, status=100, msg='success', h
阅读全文
摘要:# 每个python项目,都应该有个requirement.txt >项目依赖的模块 安装需要的工具包 # pip3 install freeze requirement.txt的生成 pycharm的terminal终端使用: # pip3 freeze >requirement.txt #生成
阅读全文
摘要:目录 1 重构项目目录 2 配置开发环境 准备: # 创建虚拟环境 mkvirtualenv -p python3 luffy # 进入虚拟环境 workon luffy # 安装django环境 pip install django==2.2.2 # 基于虚拟环境创建项目(不要再pycharm中选
阅读全文
摘要:介绍 """ 1、采用国内源,加速下载模块的速度 2、常用pip源: -- 豆瓣:https://pypi.douban.com/simple -- 阿里:https://mirrors.aliyun.com/pypi/simple 3、加速安装的命令: -- >: pip install -i h
阅读全文
摘要:目录: 1 缓存介绍 2 Django中的6种缓存方式 3 Django6种缓存的配置 3.1 开发调试 3.2 内存缓存 3.3 文件缓存 3.4 数据库缓存 3.5 Memcache缓存(使用python-memcache模块链接memcache) 3.6 Memcache缓存(使用pylibm
阅读全文
摘要:作业: 1 自定义User表,新增mobile唯一约束字段;新增icon图片字段 2 在自定义User表基础上,用 GenericViewSet + CreateModelMixin + serializer 完成User表新增接口(就是注册接口)(重要提示:序列化类要重写create方法,不然密码
阅读全文
摘要:1 JWT认证 在用户注册或登录后,我们想记录用户的登录状态,或者为用户创建身份认证的凭证。我们不再使用Session认证机制,而使用Json Web Token(本质就是token)认证机制。 # Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的
阅读全文
摘要:1 自动生成接口文档 REST framework可以自动帮助我们生成接口文档。 接口文档以网页的方式呈现。 自动接口文档能生成的是继承自APIView及其子类的视图。 1.1. 安装依赖 REST framewrok生成接口文档需要coreapi库的支持。 # pip3 install corea
阅读全文
摘要:简单使用 总路由 from django.contrib import admin from django.urls import path,include urlpatterns = [ path('admin/', admin.site.urls), path('api/', include('
阅读全文
摘要:总路由/urls.py from django.contrib import admin from django.urls import path,include urlpatterns = [ path('admin/', admin.site.urls), path('api/', includ
阅读全文
摘要:1 视图类继承GenericAPIView,get方法,post方法,用的序列化类不一样 views.py from app01.utils.MGenricAPIView import MGenricAPIView class BookView3(MGenricAPIView): # queryse
阅读全文
摘要:1 权限Permissions(权限是在认证之后的) 权限控制可以限制用户对于视图的访问和对于具体数据对象的访问。 在执行视图的dispatch()方法前,会先进行视图访问权限的判断 在通过get_object()获取具体对象时,会进行模型对象访问权限的判断 1.1 权限源码分析 # APIView
阅读全文
摘要:1 认证Authentication 1.1 自定义认证方案 1.1.1 编写models models.py from django.db import models # Create your models here. class Book(models.Model): name = model
阅读全文
摘要:目录: 1 路由Routers 对于视图集ViewSet,我们除了可以自己手动指明请求方式与动作action之间的对应关系外,还可以使用Routers来帮助我们快速实现路由信息。 REST framework提供了两个router SimpleRouter DefaultRouter 1.1 使用方
阅读全文
摘要:1 自己封装一个MyResponse对象,使用方法如下 return CoomonResponse('100','成功',boo_ser.data) return CoomonResponse('101','验证失败',boo_ser.errors) myresponse.py from rest_
阅读全文
摘要:CBV源码分析 # ModelViewSet继承View(django原生View) # APIView继承了View # 先读View的源码 from django.views import View # urls.py path('books1/', views.Books.as_view())
阅读全文
摘要:推荐一个好用的django方法,用于将model实例转换为dict,命名非常简单粗暴 from django.forms.models import model_to_dictdi = model_to_dict(order, exclude=['create_time', 'update_time
阅读全文
摘要:新建一个图书表,5个符合restful规范的接口,用CBV的APIView实现 将orm模型类转化为字典,简单粗暴的方法,使用model_to_dict from django.forms.models import model_to_dict usrls.py from django.contri
阅读全文
摘要:UUID(全称为Universally Unique IDentifier)是128位的全局唯一标识符,通常由32字节的字符串表示。它可以通过MAC地址、时间戳、命名空间、随机数、伪随机数来保证生成ID的时间和空间的唯一性。 UUID主要有五个算法,也就是五种方法来实现: 1、uuid1()——基于
阅读全文
摘要:1 用ajax提交一个json格式数据,后端返回返回一个json格式数据,console.log打印出来 urls.py from django.conf.urls import url from django.contrib import admin from app01 import views
阅读全文
摘要:思路: # 首先设置一个继承dict的类MysessionDict(用来设置session,例如request.mysession) # 请求来的时候 # 1、生成一个空的MysessionDict对象;request.mysession = MysessionDict() # 2、过滤url,如果
阅读全文
摘要:1、链式调用(jq),用python实现链式调用 class Person: def __init__(self,name,age,weight,height): self.name = name self.age = age self.weight = weight self.height = h
阅读全文
摘要:1、写一个类,有个name属性,如果name赋值为非字符串,就不让放 class Fun(): def __init__(self,name,age,male): self.name = name self.age = age self.male = male def __setattr__(sel
阅读全文
摘要:<div class="container-fluid"> <div class="row"> <div class="col-md-8 col-md-offset-2"> <h1 class="text-center">登录</h1> <div class="form-group"> <label
阅读全文