You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Flask开发Web应用时如何实现登录用户名错误提示功能?

问题原因

你的前端模板已经预留了错误提示的渲染逻辑,但后端在校验到用户名不存在时,没有向模板传递error参数,导致{% if error %}的判断始终不成立,自然不会展示错误提示。

修复方案

只需要修改app.py中登录接口的错误分支逻辑,给模板传递error参数即可:

@app.route("/login", methods=["GET", "POST"])
def login():
    if flask.request.method == "GET":
        return flask.render_template("login.html")
    if flask.request.method == "POST":
        username = flask.request.form["username"]
        cursor.execute(
            "SELECT user_name FROM public.users WHERE user_name = %s", [username]
        )
        results = cursor.fetchall()
        if len(results) != 0: # 如果用户存在,执行登录跳转
            return flask.redirect(flask.url_for("main"))
        else:
            # 新增error参数传递,值可以是布尔值也可以是自定义提示文本
            return flask.render_template("login.html", error="无效的用户名,请重新输入")

如果你直接传递文本作为error的值,前端模板可以直接渲染这个文本,灵活性更高,修改login.html的提示部分即可:

{% if error %}
  <p style="color:red;margin:10px 0;">{{ error }}</p>
{% endif %}

这样不仅能正常展示错误提示,还可以直接在后端自定义不同场景的提示内容,比如密码错误、账号封禁等场景都可以复用这个参数传递不同提示。

内容的提问来源于stack exchange,提问作者Matt Nguyen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 07:57:03