本章中最主要的应该是验证码的验证和如何去使用
超链接的这种请求他属于get请求
src也属于get请求
如何生成验证码的图片
from utils.cope import *
有一个叫gene_code的函数会生成验证码 他有两个返回值img,txt 去接收
def get(self,request): #调用工具包下的函数生成验证码 img,txt = gene_code() #将txt保存到session request.session[‘sessionCode‘] = txt #响应页面 return HttpResponse(img,content_type=‘image/png‘)
点击之后为什么会消失呢?响应界面内容,还要写响应内容的格式。
//切换验证码function changeCode(obj){ $(obj).attr(‘src‘,‘/user/loadCode/?r=‘+new Date().getTime())} 用的是JQuery对象,js对象转换成JQuery对象 改变其属性值.attr onblur 失去焦点是事件 发送一个Ajax请求$(Ajax){ data:{‘code‘:inputCode} 以一个json格式返回到后端 async:false 默认是异步的请求,不过不换同步的话,那么会跳过请求的部分,直接登录了}
def get(self,request): #获取请求参数 code = request.GET.get(‘code‘,‘‘) #获取系统生成的验证码 sessioncode = request.session.get(‘sessionCode‘) flag = code == sessioncode return JsonResponse({‘flag‘:flag})
//校验验证码是否正确 function checkCode(inputCode) { var flag = false; $.ajax({ url:‘/user/checkCode/‘, type:‘GET‘, data:{‘code‘:inputCode}, async:false, success:function (result) { var cflag = result.flag; if(cflag){ flag = true; $(‘#cSpan‘).html(‘√‘); }else{ $(‘#cSpan‘).html(‘ב); } } }); return flag; }</script> 为什么返回的是json格式业务逻辑应该是 在js中的函数效验位数成功之后,返回return Ture之后我这个判断上进行数据库验证 当点击登录的时候会发送一个请求,url,然后找到url的view视图中去操作
def post(self,request): #获取请求参数 uname = request.POST.get(‘account‘,‘‘) pwd = request.POST.get(‘password‘,‘‘) #数据库中查询当前用户是否存在 userList = UserInfo.objects.filter(uname=uname,pwd=pwd) #判断是否登录成功 if userList: request.session[‘user‘] = userList[0] return HttpResponseRedirect(‘/user/center/‘) return HttpResponseRedirect(‘/user/login/‘)
autocompete= ‘off’ 消除文本框以前的记录
<script> $(‘.logout‘).click(function() { $.get(‘/user/logout/‘,function (result) { var flag = result.flag; if(flag){ location.href=‘/user/login/‘; } }); }); </script>
class Logout(View): def get(self,request): #清空session对象中的所有数据 request.session.clear() return JsonResponse({‘flag‘:True})
原文地址:https://www.cnblogs.com/Py-king/p/10666924.html
时间: 2024-10-26 10:24:34