Flask~模块之登陆验证

半个月了,我们已经对flask有了进一步的了解,大家都知道我们在做任何一个小项目的时候都会有登陆和注册,

今天来给说说登陆页面的基本验证逻辑,话不多说,代码如下:

简单的导包我就不一 一列举:

#登陆页面
@userctrl.route('/sign_in')
def signin():
    return render_template('sign_in.html')

在这里‘sign_in.html’ 是自己用前端的html做出来的一个登陆页面,

下边说说我们在后端写的简单逻辑:

#登陆验证逻辑mysql版本
@userctrl.route('/checkuser_mysql/username=<username>/password=<password>',methods = ['POST','GET'])
def checkuser_mysql(username,password):
    #在mysql数据库中查找用户
    res = db_mysql.session.execute('select * from user where name="%s"and password ="%s"'%(username,password))
    #强转数据类型
    res = list(res)
    #判断是否找到该用户
    if len(res) == 0:
        return jsonify({'result':0})
    else:
        return jsonify({'result':1})

#登陆验证逻辑
#mongo 版本逻辑
#使用路由传参的形式
@userctrl.route('/checkuser/username=<username>/password=<password>',methods=['GET','POST'])
#路由方法的参数必须和网址中参数一致
def checkuser(username,password):
    res = db.user.find_one({'username':username,'password':password})
    #判断None对象,用not或者is
    if res is None:
        return jsonify({'result':0})
    else:
        return jsonify({'result':1})

上边是mysql和mongo两个数据库的登陆逻辑(任选其一,注意登陆和注册要选相同的数据库)

写了后端的判断逻辑,我们还需去前端我们做定义的html里写相应的逻辑(我这里是‘sign_in.html’),我直接写判断逻辑了:

<script>
    
    //写方法提交用户名和密码
    function sign_in(){

        //获取用户名
        var username = $("#username").val()
        //获取密码
        var password = $('#password').val()
        //拼接url
        // var url= '/checkuser_mysql/username='+username+'/password='+password

        var url= '/checkuser/username='+username+'/password='+password


        //发送数据获取json格式的响应
        $.getJSON(url,function(mes){
            
            if(mes.result==0){
                alert('用户名或密码错误')

            }else{
                //alert('登陆成功')
                //跳转页面

                //存储账号信息,设置生命周期

                //获取当前时间
                var date = new Date();
                date.setTime(date.getTime() + 1000*60*60*24);
                // console.log(date)
                $.cookie('username',username,{expires:date});

            
                window.location.href='/'
          这里跳转是自己定义的

            }
        })
        
    }

   
    
    </script>

简单的登陆验证逻辑写完了 感谢阅读!
语句欣赏:
好学而不勤问非真好学者。

猜你喜欢

转载自blog.csdn.net/weixin_44462582/article/details/86521554
今日推荐