• 2019.04.07 电商12 登录界面的验证


    本章中最主要的应该是验证码的验证和如何去使用

    超链接的这种请求他属于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})


  • 相关阅读:
    angular手势事件之on-Hold
    angular 控制器的使用两种模式
    关于IONIC 报错 XX is not a function
    ionic 中$ionicView.beforeEnter 事件的一个bug
    开发一个IONIC应用的首要操作(宏观)
    在线常用库 + API手册
    关于日历实现代码里lunarInfo(农历)数组
    YSlow
    GET and POST
    Yahoo34条军规——雅虎WEB前端网站优化
  • 原文地址:https://www.cnblogs.com/Py-king/p/10666924.html
Copyright © 2020-2023  润新知