手记

【九月打卡】第10天+管理员后台账号模块开发

https://coding.imooc.com/learn/list/265.html


课程名称:Python Flask构建微信小程序订餐系统



课程章节:第七章 管理员后台账号模块开发——7-3 登录退出(1)



主讲老师:编程浪子



7-3 登录退出(1)

    1.管理登录——是否能正确显示输入的用户名和密码

    1.代码

    @route_user.route("/login", methods=["GET", "POST"])

    def login():

        if request.method == "GET":

            # render_template()方法——页面渲染   参数—传入指定html文件

            return render_template("user/login.html")

     

        # req字典存储request内值

        req = request.values

        '''

        login.html文件

        <div class="form-group">

            <input type="text" name="login_name" class="form-control" placeholder="请输入登录用户名">

        </div>

        <div class="form-group">

            <input type="password" name="login_pwd" class="form-control" placeholder="请输入登录密码">

        </div>

        '''

        # 如果'login_name'作为key值在req字典内则返回对应的value值

        login_name = req['login_name'] if 'login_name' in req else ''

        login_pwd = req['login_pwd'] if 'login_pwd' in req else ''

     

        return "%s  -  %s" % (login_name, login_pwd)

    

     

    2.登录运行结果展示

    

    

    

     

     

     

     

    2.用户名、密码正确性判断

    1.核心代码

       # 引入返回jsonify的方法 

       from flask import jsonify

       

       # 定义json数值用于返回值html页面

        resp = {'code': 200, 'msg': '登录成功', 'data': {}}

     

        if login_name is None or len(login_name) < 1:

            resp['code'] = -1

            resp['msg'] = "请输入正确的登录用户名~~"

     

            return jsonify(resp)

     

        if login_pwd is None or len(login_pwd) < 1:

            resp['code'] = -1

            resp['msg'] = "请输入正确的登录密码~~"

     

            return jsonify(resp)

            

     

    2.运行输入空用户名和密码是否会出现提示

    1.输入空用户名

        

       


    2.输出空密码

        

       

    

    

     

    3.查询数据库验证用户名、密码是否正确

     

    1.往Linux数据库中插入数据

            

         

    

     

     

    2.验证用户名是否存在

    # 验证用户名是否存在——根据用户名查询用户信息

       

        # 查询数据库

        user_info = User.query.filter_by(login_name=login_name)

        if not user_info:

            resp['code'] = -1

            resp['msg'] = "请输入正确的用户名或密码~1~"

     

            return jsonify(resp)

             

    

     

    结果:

            

          

    注:此时数据库中没有小明这个用户,但是也能够正常返回小明 - 123456 ,因此可以断定查询出现错误

     

    user_info = User.query.filter_by(login_name=login_name)  ---改为--->  user_info = User.query.filter_by(login_name=login_name).first()

    

    

    3.密码加密算法

            

     

     

     

    4.验证用户名、密码是否都正确

        

     

    用户名正确、密码错误验证结果:

        

   

    4.重写登录html、js文件

    1.login.html文件修改

    2.login.js文件

    3.前端链接统一管理函数

    

     

    5.登录cookie验证

    1.用户生成指定cookie值

    from flask import make_response

    import json

     

    response = make_response(json.dumps(resp))

    response.set_cookie(app.config['AUTH_COOKIE_NAME'], "%s#%s" % (UserService.geneAuthCode(user_info), user_info.uid))

    2.对用户cookie值进行加密

    3.运行显示加密cookie值


 


 

 

 

 



0人推荐
随时随地看视频
慕课网APP