- 博客(40)
- 收藏
- 关注
原创 课程全文检索接口
文章目录1. 基本介绍1.1 安装1. 基本介绍前后端不分离:https://www.cnblogs.com/xiaonq/p/12363589.html1.1 安装pip install drf-haystack # django的开源搜索框架pip install whoosh # 搜索引擎pip install jieba # 中文分词Jieba,由于Whoosh自带的是英文分词...
2020-10-16 20:13:16 610 2
原创 搜索引擎工作原理
文章目录1. 搜索引擎工作原理1. 倒排索引2. django创建全文索引的过程1. 搜索引擎工作原理1. 倒排索引搜索引擎中存储的是倒排索引,就是分好的词,和词语文章的关联事先把文章使用分词打散,以词为依据,标记清楚对应的文章的编号查询时把查询的语句也进行分词,然后根据分词,找到哪些文章中包含了这些词2. django创建全文索引的过程1.django中提供的是结构化数据2.haystack把结构化转非结构化3.搜索引擎把非结构化转分词...
2020-10-16 19:42:37 326
原创 订单生成回调接口
文章目录1. 支付回调页支付信息2. goods/views 中写视图函数goods/urls 中注册路由1. 支付回调页支付信息vue需要把支付凭证传递给django,django把订单状态改为已支付,并在UserCourse表中存储用户购买课程信息mounted() { this.query = this.$route.query payment_post(this.query).then((resp) => { // ({"code": 999, "
2020-10-16 07:52:51 484 1
原创 创建订单并生成支付链接接口
文章目录1. syl/settings.py 中配置支付相关参数2. goods/utils.py 中生成随机订单函数和生成支付URL函数3. goods/views.py 中写视图函数4. goods/urls 中注册路由5. 测试1. syl/settings.py 中配置支付相关参数# 支付宝配置ALIPAY_APPID = '2016102600762786' # 沙箱环境中alipay应用IDALIPAY_DEBUG = True# alipay沙箱环境支付宝网关ALIPAY_
2020-10-16 07:49:05 1848
原创 支付宝支付原理
文章目录1. 支付宝支付流程2. 新建支付宝应用2.1 第一步:创建应用(使用沙箱环境测试)2.2 按照官方要求生成密钥2.3把生成的应用公钥粘贴到沙箱环境的app中2.4 查看沙箱环境账号信息3. 测试获取支付宝扫码链接3.1 支付宝开发网址3.2 说明3.3 `app_private_key.pem` app私钥3.4 `app_private_key.pem` 支付宝公钥3.5 `alipay_test `测试沙箱环境1. 支付宝支付流程2. 新建支付宝应用# 访问"支付宝开发平台"登录,
2020-10-16 07:44:24 2002
原创 商品模块表结构分析
文章目录1. 表结构分析1.1 商品模块表结构分析1.2 course/models.py 中添加用户购买课程1.3 user/models.py 添加VIP表并添加用户关联2. 在admin中注册2.1 goods/admin.py 中注册2.2 user/admin.py 中注册1. 表结构分析1.1 商品模块表结构分析from django.db import modelsfrom utils.MyBaseModel import Baseclass Goods(Base):
2020-10-16 07:29:45 286
原创 七牛云上传视频
文章目录1. 原理图2. 获取七牛云token3. vue通过token上传视频到七牛云3.1 获取token3.2 初始化七牛云(官方文档)3.3 上传成功之后拼接出来视频url3.4 发给django存入数据库3.5 添加节信息接口1. 原理图2. 获取七牛云token官方文档:https://developer.qiniu.com/kodo/sdk/1242/python```from qiniu import Authclass QnApiView(APIView):
2020-10-15 07:18:03 775
原创 序列化正反向查询
文章目录序列化1. 正向查找2. 反向查找3. 效果展示3.1 使用关联对象的序列化器3.2 序列化为关联对象的主键3.3 序列化为关联对象的字符串表示方式序列化1. 正向查找model.pyclass CourseType(Base): title = models.CharField('课程类别', max_length=16) sequence = models.IntegerField('展示顺序', default=10) class Meta:
2020-10-13 07:38:50 543
原创 Model基类表写法
文章目录1. 用户表抽象基类2. 表结构基类1. 用户表抽象基类from django.contrib.auth.models import AbstractUser# 重写django认证用户模型# 继承django自带的抽象用户类,进行重写class User(AbstractUser): phone = models.CharField('手机号', max_length=20) img = models.ImageField(upload_to='user', nu
2020-10-13 07:33:39 221 1
原创 vue绑定用户页面
文章目录1. vue 微博回调空页面1.1 页面路径`components\oauth.vue`1. vue 微博回调空页面注:微博回调空页面为:http://127.0.0.1:8888/oauth/callback/1.1 页面路径components\oauth.vue<template> <div> <div v-show='visiable'> 绑定用户 用户名: <input type="t
2020-10-10 14:08:40 216
原创 绑定微博用户接口
文章目录1. 微博绑定用户接口1.1 `oauth/urls.py` 中添加路由1.2 `oauth/views.py` 中添加视图函数1. 微博绑定用户接口1.1 oauth/urls.py 中添加路由urlpatterns = [ path('weibo/binduser/', views.OauthWeiboBindUser.as_view()) # /oauth/weibo/callback/]1.2 oauth/views.py 中添加视图函数class OauthWeib
2020-10-10 14:05:04 624
原创 vue微博回调空页面
文章目录1. vue微博回调空页面1.1 页面路径`components\oauth.vue`1. vue微博回调空页面注:微博回调空页面为:http://127.0.0.1:8888/oauth/callback/1.1 页面路径components\oauth.vue<template> <div> <p>跳转中...</p> </div></template><script> i
2020-10-10 13:47:08 112
原创 微博回调接口
文章目录1. 微博回调接口1.1 `oauth/urls.py` 中添加路由1.2 `oauth/views.py` 中添加视图函数1.3 `oauth/models.py` 中添加用户绑定模型1.4 迁移数据库1. 微博回调接口1.1 oauth/urls.py 中添加路由urlpatterns = [ path('weibo/callback/', views.OauthWeiboCallback.as_view()), # /oauth/weibo/callback/]1.2 oau
2020-10-10 13:37:40 219
原创 vue获取微博授权的URL
文章目录1. 在Vue页面加载时动态发送请求获取微博授权url1.1 在`components\commom\lab_header.vue` 中写oauth动态获取微博授权URL1.2 在vue的mounted函数中调用获取微博授权url函数1.3 点击"登录"弹出的form表单中加入url1. 在Vue页面加载时动态发送请求获取微博授权url1.1 在components\commom\lab_header.vue 中写oauth动态获取微博授权URL // 获取微博登录地址 oauth() {
2020-10-10 13:05:47 389
原创 生成微博授权URL接口
文章目录1. 创建`apps/oauth`模块进行oauth认证2. 生成微博授权URL接口1.1 添加子路由:`oauth/urls.py`1.2 `syl/settings.py` 中配微博地址1.3 视图函数:`oauth/views.py`3. 测试生成微博授权URL接口1. 创建apps/oauth模块进行oauth认证'''2.1 在apps文件夹下新建应用: oauth'''cd syl/appspython ../manage.py startapp oauth # 切换到app
2020-10-10 12:07:02 319
原创 微博账号注册
文章目录1. 注册账号2. 接口文档新浪微博咖啡平台:https://open.weibo.com/1. 注册账号注册新浪微博账号进入首页。创建网站接入的应用:https://open.weibo.com/选择立即接入,进入到创建应用页面创建应用基本信息页面:https://open.weibo.com/apps/3630488439/info/basic高级信息页面2. 接口文档查看接口文档https://open.weibo.com/wiki/授权机制说明
2020-10-10 11:43:11 1072
原创 微博三方登录原理讲解
文章目录1. 微博三方登录流程1.1 前端获取认证code1.2 获取微博access_token1.3 获取微博用户基本信息并保存到数据库1.4 生成token给Vue2. 第三方登录与本地登录的关联(三种情况)2.1 情况1:本地未登录,第一次登录第三方2.2 情况2:本地未登录,再次登录第三方2.3 情况3:本地登录,并绑定第三方3. oauth认证原理4. 为什么使用三方登录1. 微博三方登录流程https://api.weibo.com/oauth2/authorize? client_
2020-10-10 11:14:33 374
原创 redis的pipeline使用
文章目录1. pipeline 原理1.1 redis 发送数据原理1.2 未使用 pipeline 执行 N 条命令1.3 使用了pipeline 执行 N 条命令2. pipeline 性能代码展示1. pipeline 原理1.1 redis 发送数据原理Reids是建立在TCP协议基础上的CS架构,客户端 client 对 redis server 采取请求响应的方式交互。一般来说客户端从提交请求到得到服务器响应,需要传送两个 tcp 报文。设想这样的一个场景,你要批量的执行一系列 r
2020-10-08 19:08:23 232
原创 后端注册接口完善
文章目录1.完善注册接口1.1 修改`user/views.py`中完善视图函数1.完善注册接口1.1 修改user/views.py中完善视图函数# 注册接口class RegisterView(APIView): """ 用户注册, 权限是: 匿名用户可访问 """ # 自定义权限类 permission_classes = (AllowAny,) def post(self, request): """ 接收
2020-10-07 20:00:50 157
原创 vue检查用户名是否使用
文章目录1.vue检查用户名是否重复2.vue检查手机号是否重复1.vue检查用户名是否重复前端函数如下,js方法代码无需更改,前端代码逻辑在components\common\lab_header.vue只需要修改components\axios_api\http.js中调用的后端地址// axios.defaults.baseURL = "http://127.0.0.1:8000/"axios.defaults.baseURL = "http://192.168.56.100:
2020-10-07 19:59:31 373
原创 检查用户名是否使用接口
文章目录1.django添加检查用户名和手机号数量接口1.1 在`user/urls.py`中添加1.2 在`user/views.py`中添加视图函数2.测试接口1.django添加检查用户名和手机号数量接口1.1 在user/urls.py中添加urlpatterns = [ path('count/', views.RegCountView.as_view()), # 查询用户名手机号使用量的视图, /user/count/]1.2 在user/views.py中添加视图函
2020-10-07 19:53:41 131
原创 vue发送短信逻辑
文章目录1.vue发送短信逻辑1.vue发送短信逻辑前端函数如下,js方法代码无需更改,前端代码逻辑在components\common\lab_header.vue只需要修改components\axios_api\http.js中调用的后端地址// axios.defaults.baseURL = "http://127.0.0.1:8000/"axios.defaults.baseURL = "http://192.168.56.100:8888/"// 获取手机验证码s
2020-10-07 19:52:11 199
原创 celery发送短信接口
文章目录1.使用celery异步发送短信1.1 在`celery_task/mian.py`中添加发送短信函数1.2 在`verifications/views.py`中添加celery发送短信试图函数1.3 添加路由2.测试接口1.使用celery异步发送短信1.1 在celery_task/mian.py中添加发送短信函数# celery项目中的所有导包地址, 都是以CELERY_BASE_DIR为基准设定.# 执行celery命令时, 也需要进入CELERY_BASE_DIR目录执行.C
2020-10-07 19:46:04 266 1
原创 celery配置与基本使用
文章目录1.celery配置与基本使用1.1 安装celery1.2 新建`celery/main.py`配置celery2.测试celery2.1 启动celery1.celery配置与基本使用1.1 安装celerypip install celery @ https://github.com/celery/celery/tarball/master1.2 新建celery/main.py配置celery# celery_task/main.pyimport osfrom celer
2020-10-07 19:44:14 161
原创 celery原理与组件
文章目录1. Celery介绍1.1 celery应用举例1.2 Celery有以下优点1.3 Celery 特性2. celery 组件2.1 Celery 扮演生产者和消费者的角色2.2 celery架构图2.3 产生任务的方式2.4 celery 依赖三个库: 这三个库, 都由 Celery 的开发者开发和维护.1. Celery介绍1.1 celery应用举例Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理,如果你的业务场景中需要用到
2020-10-07 19:41:48 228
原创 短信验证接口
文章目录1. 注册容联云账号1.1 注册账号1.2 登录即可看到开发者账号信息1.3 添加测试账号2. 使用容联云发送代码测试3. 在视图函数中使用3.1 在verifications/urls.py中添加路由3.2 写视图函数1. 注册容联云账号1.1 注册账号https://www.yuntongxun.com/user/login1.2 登录即可看到开发者账号信息1.3 添加测试账号2. 使用容联云发送代码测试'''1. 安装容联云sdk'''pip install ro
2020-10-07 18:51:09 627
原创 图片验证码接口
文章目录1. django缓存设置1.1 安装Django缓存模块1.2 `syl/settings.py`中配置缓存2. 新建应用verifications3. 图形验证码captcha使用4. 在verifications/views.py中使用5. 测试验证码接口1. django缓存设置django的六种缓存(mysql+redis) : https://www.cnblogs.com/xiaonq/p/7978402.html#i61.1 安装Django缓存模块pip instal
2020-10-06 21:42:08 1183
原创 编写注册接口
文章目录1. 编写注册接口1.1 `user/urls.py` 中添加路由1.2 `user/views.py` 中写注册视图函数2. 重写django认证2.1 `syl/settings.py`中指定自定义后端认证函数位置2.2 `user/utils.py`中重写认证函数3. 注册用户&测试登录3.1 注册接口测试3.2 登录接口测试3.3 获取用户列表接口测试1. 编写注册接口1.1 user/urls.py 中添加路由urlpatterns = [ path('register
2020-10-06 07:25:54 429
原创 JWT安装配置
文章目录1. JWT安装配置1.1安装JWT1.2 `syl/settings.py`配置jwt载荷中的有效期设置1.3 `syl/settings.py` JWT结合DRF进行认证权限配置1.4 `user/urls.py` 增加获取token接口和刷新token接口1.5 在user/utils.py 中从写jwt_response_payload_handler2. postman 测试接口2.1 测试登录接口,获取token2.2 使用获得的token获取所有用户信息3. 源码分析1. 登录接口
2020-10-06 00:10:02 557
原创 JWT原理
文章目录1. COOKIE 使用和优缺点1.1 cookie 原理:`用户名+密码`1.2 session 使用原理1.3 session 使用缺点1.4 常用解决session方法2. JWT介绍2.1 jwt原则2.2 JWT的数据结构1. COOKIE 使用和优缺点1.1 cookie 原理:用户名+密码cookie是保存再用户浏览器端,用户名和密码等明文信息1.2 session 使用原理session是存储再服务器端的一段字符串,相当于字典的key1.用户向服务器发送用户
2020-10-05 23:38:55 131
原创 Vue组件
文章目录1. 组件定义1.1 什么是组件1.2 组件特性2. 父组件向子组件传值2.1 `components/Child.vue`定义子组件2.2 `conmponents/Father.vue`定义父组件2.3 `router/index.js`中注册路由2.4 测试3. 子组件向父组件传值3.1 `components/Child.vue`子组件通过触发方法,向父组传值3.2 `components/Father.vue`给子组件添加事件及事件处理方法3.3 测试1. 组件定义1.定义组件并引用
2020-09-30 07:41:22 306
原创 使用axios/vue-resource发送HTTP请求
文章目录1. 封装axios请求1.1 初始化环境1.2 封装axios(创建 src/api 文件夹)1.3 使用vuex1.4 入口1.5 封装axios作用1.6 使用vuex发送get请求1. 封装axios请求1.1 初始化环境vue init webpack deaxiosnpm install axios -Scnpm install vuex -S1.2 封装axios(创建 src/api 文件夹)config\urls.js 配置全局url变量export d
2020-09-28 20:41:49 318 1
原创 RESTful风格API
文章目录1. RESTful风格API1.1 什么时RESTful1.2 web开发本质2. RESTful API设计规范3. 状态码1. RESTful风格API1.1 什么时RESTfulREST与技术无关,代表的是一种软件架构风格(REST是Representational State Transfer的简称,中文翻译为“表征状态转移”)REST从资源的角度类审视整个网络,它将分布在网络中某个节点的资源通过URL进行标识所有的数据,不过是通过网络获取的还是操作(增删改查)的数据,都是资
2020-09-28 19:53:52 69
原创 APIview + Serializers使用
文章目录1. APIview使用1.1 在`user/urls.py`中添加路由1.2 创建`user/serializers.py`写序列化器1.3 在`user/views.py`中添加视图函数2. 测试接口2.1 查询所有用户2.2 创建用户2.3 更新用户信息2.4 限流功能测试1. APIview使用ModelVIewSet是对APIview封装ModelSerializer是对Serializer1.1 在user/urls.py中添加路由urlpatterns = [ pa
2020-09-28 19:38:31 108
原创 django项目结构
文章目录初始化项目结构django项目结构初始化项目结构----project | .gitignore | README.md # 中文项目简介 | README.en.md # 英文项目简介 | |--celery_task # 用来存放clery相关文件 | |--db # 数据库相关:1.数据化初始化脚本;2.数据库维护脚本,清理,备份脚本 |--logs # 存放
2020-09-27 21:44:06 345
原创 web项目工作流程
文章目录1. web项目工作流程1.1 了解web程序工作流程1.2 django生命周期2. django介绍3. Django设计模式(MVC/MTV)4. 虚拟环境的安装5. 创建项目6. 创建子应用7. 第一个helloworld程序8. 项目的配置(settings.py文件)9. 静态资源问题10. 地址匹配11. 路由参数名设置13. get请求14. post,put,delete1. web项目工作流程1.1 了解web程序工作流程1.2 django生命周期2.
2020-09-25 20:42:37 1137
原创 linux常用命令
文章目录1. linux常用命令1.1 系统命令1.2 查看文件常用指令1.3 目录管理常用指令1.4 账号与权限2. ununtu开启sshd服务3. ubuntu安装软件1. linux常用命令1.1 系统命令runlevel # 查看当前的运行级别systemctal status sshd # 开启网络服务功能 stop # 关闭 restart # 重启 reload # 重载reboot # 重启halt #
2020-09-25 13:28:27 158
原创 Django学习笔记2
启动命令 python manage.py runserver如果报套接字问题 换端口 python manage.py runserver 9000创建应用python manage.py startapp 应用名再setings.py 里注册应用路由一级路由from django.contrib import adminfrom django.urls im...
2020-04-22 21:51:32 156
原创 Django学习笔记1
1. 准备工作安装 django==2.1.14 版本pip install django==2.1.14 -i https://pypi.douban.com/simple/安装 pymysqlpip install pymysql -i https://pypi.douban.com/simple/查看一下是否有安装的东西?pip list 查看是否有django ...
2020-04-22 21:50:22 123
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人