继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

残梦ming
关注TA
已关注
手记 26
粉丝 2
获赞 0

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)

    http://img3.mukewang.com/63213b470001cb5111750855.jpg

     

    2.登录运行结果展示

    http://img4.mukewang.com/63213b540001c12015870780.jpg

    http://img3.mukewang.com/63213b5f0001613409850485.jpg

    

     

     

     

     

    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)

            http://img2.mukewang.com/63213b710001c58211710850.jpg

     

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

    1.输入空用户名

        http://img3.mukewang.com/63213b7f000161d514900733.jpg

       http://img3.mukewang.com/63213bac0001fb9209510332.jpg


    2.输出空密码

        http://img.mukewang.com/63213bbe0001502714910712.jpg

       http://img3.mukewang.com/63213bc8000113b107190265.jpg

    

    

     

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

     

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

            http://img4.mukewang.com/63213bed0001c69116270535.jpg

         http://img4.mukewang.com/63213bf800016e2719201030.jpg

    

     

     

    2.验证用户名是否存在

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

       

        # 查询数据库

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

        if not user_info:

            resp['code'] = -1

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

     

            return jsonify(resp)

             http://img4.mukewang.com/63213c0800011d1611710423.jpg

    

     

    结果:

            http://img3.mukewang.com/63213c390001036114580733.jpg

          http://img1.mukewang.com/63213c470001c6f307940357.jpg

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

     

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

    http://img1.mukewang.com/63213c6c0001301914980725.jpg

    http://img2.mukewang.com/63213c780001a92206420329.jpg

    3.密码加密算法

            http://img.mukewang.com/63213c860001018112930566.jpg

     

     

     

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

        http://img2.mukewang.com/63213c990001f54311700726.jpg

     

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

        http://img.mukewang.com/63213ca300012ac615200763.jpghttp://img3.mukewang.com/63213cb1000144bb06200312.jpg

   

    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值


 


 

 

 

 



打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP