- 博客(21)
- 收藏
- 关注
原创 rest_framework_jwt自带的登录登录失败函数重写以及导用
在使用前后端分离开发做项目时,我们经常使用jwt_token,但是在我们登录失败时前端会直接报错状态码400,这时我们想到要定义登录成功和登录失败的返回体这边会涉及到修改源码,注意修改页面避免不必要的错误1.首先在我们项目settings中进行添加2.自定义登录成功与登录失败返回体3.登录成功返回体4.通常我们在postman中自测的时候错误信息为{‘non_field_errors’:[‘无法使用提供的认证信息登录’]}当用户名或密码输入错误的时候不会去访问我们自定义的登录返回体所以需要我
2021-05-19 12:04:26 631
原创 django websocket简单实现聊天室
websocket是什么WebSocketd是WebSocket的守护进程(命令行工具),负责处理WebSocket连接,并启动服务器应用程序来处理WebSockets,在应用程序和Web浏览器之间传递消息,无需任意依赖包且进程独立。WebSocketd是一款非常特别的WebSocket服务器,它的最大特点是后台脚本不限语言,其标准输入stdin就是WebSocket的输入,标准输出stdout就是WebSocket的输出。WebSocketd本质上是命令行的WebSocket代理,只要在命令行可以执行
2021-04-07 09:51:14 417 1
转载 JWT
JWT在用户注册或登录后,我们想记录用户的登录状态,或者为用户创建身份认证的凭证。我们不再使用Session认证机制,而使用Json Web Token认证机制。什么是JWTJson web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外
2021-01-28 15:56:20 144
原创 django-celery-简单实现异步发邮件修改密码
版本python == 3.7.6django == 2.1.8celery == 4.4.7redis == 3.5.3eventlet == 0.26.1首先在项目下创建我们所需要的文件celecry config以上dashixun为我们的项目名称settings中的配置# 配置邮件发送EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'EMAIL_HOST = 'smtp.qq.com' # 如
2021-01-14 15:50:51 298
原创 时间窗的简单使用
时间窗的简单实用一.根据自己需求在页面加载前或点击按钮触发时views例如:class WorkingView(APIView): def put(self, request): cid = request.GET.get('cid') thetime = int(time.time()) Coach.objects.filter(id=cid).update(working=F('working') + 1) return Re
2021-01-09 07:57:21 4053
原创 七牛云上传文件---vue
官方接口文档:python SDK:https://developer.qiniu.com/kodo/sdk/1242/pythonJavaScript SDK: https://developer.qiniu.com/kodo/sdk/1239/java1.安装pip install qiniunpm install qiniu-js2.准备工作存储空间及密钥3.后端获取七牛云tokenutils/MyBaseViewdef qiniu_token():#需要填写你的 Acce
2020-12-31 14:27:52 189 1
原创 Python---七牛云简单上传
参考官方接口文档https://developer.qiniu.com/kodo/sdk/1242/python1.安装pip install qiniu2.准备工作注册账号登陆,个人中心获取Access Key 和 Secret Key创建对象存储空间进入空间获取测试域名函数封装def qiniu_token():#需要填写你的 Access Key 和 Secret Key access_key = QINIU_ID secret_key = QINIU_S
2020-12-31 14:16:18 388 1
原创 微博三方登录
Oauth2.0授权认证oauth2.0是什么?OAuth(开放授权)是⼀个开放标准,允许⽤户让第三⽅应⽤访问该⽤户在某⼀⽹站上存储的私密的资源(如照⽚,视频,联系⼈列表),⽽⽆需将⽤户名和密码提供给第三⽅应⽤Oauth2.0的四种授权模式?https://www.cnblogs.com/Innocent-of-Dabber/p/11009811.html隐式授权模式(Implicit Grant)授权码授权模式(Authorization code Grant)密码模式(Resource
2020-12-28 18:56:02 259
原创 django-celery-redis异步发邮件
Django-Celery-Redis异步发邮件python == 3.7.6django == 2.1.8celery == 4.4.7redis == 3.5.3eventlet == 0.26.1什么是celeryCelery是一个功能完备即插即用的任务队列。它使得我们不需要考虑复杂的问题,使用非常简单。celery适用异步处理问题,当发送邮件、或者文件上传, 图像处理等等一些比较耗时的操作,我们可将其异步执行,这样用户不需要等待很久,提高用户体验。 celery的特点是:
2020-12-24 14:42:55 117 1
原创 Celery---手机短信异步发送
celery应用举例Celery 是⼀个 基于python开发的 分布式异步消息任务队列 ,通过它可以轻松的实现任务的异步处理,如果你的业务场景中需要⽤到异步任务,就可以考虑使⽤celery你想对100台机器执⾏⼀条批量命令,可能会花很⻓时间 ,但你不想让你的程序等着结果返回,⽽ 是给你返回⼀个任务ID,你过⼀段时间只需要拿着这个任务id就可以拿到任务执⾏结果, 在任务执 ⾏ing进⾏时,你可以继续做其它的事情Celery 在执⾏任务时需要通过⼀个消息中间件来接收和发送任务消息,以及存储任务结果
2020-12-24 14:25:06 154
原创 阿里云短信服务的使用
封装发短信代码utils/MyBaseView.pyimport djangodjango.setup()from aliyunsdkcore.client import AcsClientfrom aliyunsdkcore.request import CommonRequestfrom syl2.settings import ALY_ACCESSKEY_ID,ALY_ACCESSKEY_SECRETimport json,timefrom celery import ...
2020-12-24 14:07:06 163
原创 图片验证码2
django使用PLI生成验证码python=3.6.8django=2.1.8Pillow=7.0.0redis=3.3.1工具形式的验证码生成 并存入redisimport randomimport ioimport redisfrom PIL import ImageDraw, ImageFont, Imagefrom mysite.settings import BASE_DIRdef get_random_color(): """ 定义随机的字体颜
2020-12-23 11:09:43 133
原创 图片验证码
一.django缓存设置1.安装django缓存模块pip install django-redis==4.12.12.settings.py中配置缓存# 缓存配置CACHES = { # django存缓默认位置,redis 0号库 # default: 连接名称 "default": { "BACKEND": "django_redis.cache.RedisCache", "LOCATION": "redis://127.0.0.1:6379/0", "OPTION
2020-12-22 15:01:10 323 1
原创 axios--封装--在项目文件较多时使用
1.封装意义提高代码可读性提高代码可维持性减少代码的编写2.封装在src下创建api文件夹,在里面创建http.js文件(可随意)// src/api/http.jsimport axios from 'axios'axios.defaults.baseURL = "http://127.0.0.1:8000/"// axios.defaults.baseURL = "http://172.16.240.175/:8000/"//全局设置⽹络超时axios.defaults.ti
2020-12-21 11:09:55 107
原创 跨域问题解决
一.同源1.定义协议 + IP + 端口号 都一样的url称为同源,来自同一服务器2.同源策略浏览器为了安全起见,有一个约束,要求浏览器执行的脚本只能同源访问。默认如果访问的不是同源,则拦截这个访问3.目的是为了保证⽤户信息的安全,防⽌恶意的⽹站窃取数据4.解决方案jsonpCORS代理解决跨域二.跨域解决方法1.jsonp ---- 在html页面中通过相应的标签从不同域名下加载静态资源文件缺点:只能够实现get请求function handleResponse(resp
2020-12-19 14:18:34 375 1
原创 多对多
多对多增删改查models.pyfrom django.db import modelsclass Role(models.Model): """ 角色表 """ role_name = models.CharField(max_length=32, unique=True) class Meta: db_table = "pp_role"class User(models.Model): """ 用户表 """
2020-12-19 07:47:13 548 1
原创 ORM
Django–ORMDjango–ORM操作ORM介绍什么是ORMORM 全拼Object-Relation Mapping.中文意为 对象-关系映射.在MVC/MVT设计模式中的Model模块中都包括ORMORM优势只需要面向对象编程, 不需要面向数据库编写代码.对数据库的操作都转化成对类属性和方法的操作.不用编写各种数据库的sql语句.实现了数据模型与数据库的解耦, 屏蔽了不同数据库操作上的差异.不在关注用的是mysql、oracle…等.通过简单的配置就可以轻松更换数
2020-12-18 20:03:20 456
原创 DRF框架初步学习
参考:https://www.cnblogs.com/xiaonq/p/10053234.htmlhttp://www.cnblogs.com/wupeiqi/articles/7805382.html什么是restful1. REST与技术无关,代表的是一种软件架构风格(REST是Representational State Transfer的简称,中文翻译为“表征状态转移”)2. REST从资源的角度类审视整个网络,它将分布在网络中某个节点的资源通过URL进行标识3. 所有的数据,不过是通过
2020-12-16 14:29:56 1243
原创 Http
Http浏览器发送Http请求通过Uwsgi转换成wsgi发送到django然后django使用Orm传入Mysqldjango再返回wsgi到Uwsgi转换成Http请求再返回给浏览器三次握手 四次挥手三次握手:第一次握手:客户端向服务器发送连接请求第二次握手:服务器向客户端发送确认请求 并等待建立连接第三次握手:客户端向服务器发送确认 并开始建立连接四次挥手:第一次挥手:客户端向服务器发送断开请求第二次挥手:服务器向客户端发送确认断开第三次挥手:服务器断开第四次挥手:客户端确认
2020-12-15 11:53:41 1211
原创 权限管理--RBAC简单实现
权限管理–RBAC简单实现1.RBAC模型RBAC模型(Role-Based Access Control:基于角色的访问控制)就是用户通过角色与权限进行关联简单的说,一个用户拥有若干角色,每个角色拥有若干权限这样,就构成了**“用户-角色-权限”**的授权模型在这种模型中,用户与角色之间,角色与权限之间,一般都是多对多关系2.表设计from django.db import modelsfrom django.contrib.auth.models import AbstractU
2020-12-07 19:26:22 1703
原创 OAuth授权认证和三方登录12.2
OAuth2.0授权认证oauth2.0是什么?OAuth(开放授权)是一个开放标准 允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方Oauth2.0的四种授权模式?https://www.cnblogs.com/Innocent-of-Dabber/p/11009811.html隐式授权模式(Implicit Grant)授权码授权模式(Authorization code Grant)密码模式(Resource O
2020-12-02 16:30:53 1406
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人