本篇文章小编给大家分享一下Django实现jwt认证代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
一、 jwt 安装和配置
安装
虚拟环境下执行以下命令
pip install djangorestframework-jwt
配置
总路由配置
from django.contrib import admin from django.urls import path,include urlpatterns = [ path('admin/', admin.site.urls), path('users/',include('users.urls')), ]
分路由配置
renranapi/apps/users/urls.py
注: obtain_jwt_token:验证用户名密码是否有效,生产token 值,post 方法 -- user应用下 ser 表中去查询,dev.py:user.User
from django.urls import path from rest_framework_jwt.views import obtain_jwt_token urlpatterns=[ path('login/',obtain_jwt_token) ]
postman 测试
前端
配置登录按钮
login.vue
line32 加上 click 动作
line56 前端请求后端数据库
line 16-25
settings.js
export default { # 将原来 127.0.0.1:8000 什么的改成新的url 地址 'host': 'http://api.renran.com:8000', }
登录测试
密码错误时:
密码正确时:
remember me 认证
对于浏览器来说,如果不保存密码则返回 sessionstorage;保存密码的话返回 localstorage,如图
login.vue line28
记住我
line59
data(){ return { username:'', password:'', remember_me:false, } }, methods:{ loginHandler(){ this.$axios.post( `${this.$settings.host}/users/login/`,{ username:this.username, password:this.password, }).then((res)=>{ console.log(res); if (this.remember_me){ localStorage.token = rens.data.token; //sessionStorage.clear() 清除所有的网站的 sessionstorage sessionStorage.removeItem(`token`); }else { sessionStorage.token = res.data.token; localStorage.removeItem(`token`); } }).catch((error)=>{ console.log(error); }) }, }
登录后确定框
element-ui网站下载:element.eleme.cn/#/zh-CN/com…
// 登录成功后跳转到首页 this.$confirm('登录成功, 是否继续?', '提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' }).then(() => { this.$router.push('/'); }).catch(() => { this.$message({ type: '?', message: '不登录?' }); }); }).catch((error)=>{ this.$message({ type:'error', message:'用户名或密码错误' }) }) }, }
摩尔庄园 安卓官方版v2.9.24091002S
摩尔庄园很多小伙伴一定都在小时候玩过,但随着我们年龄的增长淡
梦幻庄园最新版 官方正版v1.0.0
梦幻庄园是一款非常好玩的模拟经营类游戏,玩家在游戏中有一个属
合并梦幻岛免内购版 v2.1.0
合并梦幻岛无限内购版是游戏的破解版本,在该版本中为玩家解锁了
无悔华夏魅族版 2025最新版v3.5.194
无悔华夏魅族版是一款超级好用的模拟经营游戏。在这里玩家们需要
月影别墅官方安装包2025版 安卓版v2.3.24
月影别墅官方安装包2025版是一款匠心独具的乙女向剧情游戏,