博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
flask实现同时使用用户名/邮箱其一进行登录
阅读量:4100 次
发布时间:2019-05-25

本文共 851 字,大约阅读时间需要 2 分钟。

存在的问题:

 不知道为何

user = User.query.filter(User.username == email or User.email == email, User.password == password).first()

只能执行 or 前面的一句话 or后面一句在实际应用没有进行判断。 不知是sqlalchemy的逻辑问题还是其

他的问题

最终只能通过多加一个if 来解决

@app.route('/login', methods=["GET", "POST"])def login():    if request.method == "GET":        return render_template("login.html")    else:        email = request.form.get("email")        print(email)        password = request.form.get("password")        user = User.query.filter(User.username == email, User.password == password).first()        if not user:            user = User.query.filter(User.email == email, User.password == password).first()        if user:            session["user_id"] = user.id            g.user = user            session.permanent = True            return redirect(url_for("index"))        else:            return "error"

转载地址:http://uvzsi.baihongyu.com/

你可能感兴趣的文章
音视频干货|深入Storyteller:实时协同Tutorial编辑器
查看>>
年轻人不讲武德,竟然重构出这么优雅后台 API 接口
查看>>
这份笔记研究完,进大厂是个“加分项”...
查看>>
写代码有这16个好习惯,可以减少80%非业务的bug
查看>>
《我想进大厂》之Spring夺命连环10问
查看>>
空指针的传说
查看>>
为什么阿里巴巴禁止使用 Executors 创建线程池?
查看>>
面试官问我平时怎么看源码的,我把这篇文章甩给他了。
查看>>
这十一条程序员必备软技能,你一定要知道
查看>>
为什么你写的拦截器中不能注入Java bean?
查看>>
2020 年度编程语言排行榜出炉!C 语言称霸,Java 遭遇滑铁卢…….
查看>>
Android中屏幕密度和图片大小的关系分析
查看>>
树立个人品牌:让名企hr们主动来找你
查看>>
Ubuntu上Lamp的搭建
查看>>
Android内核解读-Android系统的开机启动过程
查看>>
Android内核解读-应用的安装过程
查看>>
Android Binder机制浅析
查看>>
killall & killall -9
查看>>
linux top %VSZ含义
查看>>
gcc 编译顺序问题
查看>>