• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Django 实现jwt认证的示例

python 搞代码 4年前 (2022-01-08) 31次浏览 已收录 0个评论

这篇文章主要介绍了Django 实现jwt 认证的示例,帮助大家更好的理解和学习使用django,感兴趣的朋友可以了解下

一、 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 动作

 <button class="sign-in-button" id="sign-in-form-submit-btn" type="button"> <span id="sign-in-loading"></span> 登录 </button>

line56 前端请求后端数据库

 

line 16-25

 <div class="input-prepend restyle js-normal"> <i class="iconfont ic-user"></i></div><!-- 海外登录登录名输入框 --><div class="input-prepend"> <i class="iconfont ic-password"></i></div>

settings.js

 export default { # 将原来 127.0.0.1:8000 什么的改成新的url 地址 'host': 'http://api.renran.com:8000', } 

登录测试
密码错误时:

密码正确时:

remember me 认证

对于浏览器来说,如果不保存密码则返回 sessionstorage;保存密码的话返回 localstorage,如图

login.vue line28

 <div class="remember-btn"> <span>记住我</span></div>

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: '?<b style="color:transparent">来源gao@!dai!ma.com搞$$代^@码!网</b>', message: '不登录?' }); }); }).catch((error)=>{ this.$message({ type:'error', message:'用户名或密码错误' }) }) }, } 

以上就是Django 实现jwt认证的示例的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Django 实现jwt认证的示例

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址