Flask ~~“日久生情”(登陆验证的基本逻辑)

好久不见啊!好久没有写博客了,这里送给大家迟来的祝福:2019 祝大家心想事成,事业有成。

就简单说几句,半个月了,我们已经对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>

这样简单的登陆页面验证逻辑就写完了。

喜欢的语句分享给大家:

万丈高楼平地起,辉煌只能靠自己。

原文地址:https://www.cnblogs.com/sashao/p/10232459.html