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

Flask登录后如何在greet页面显示含用户名的欢迎语?

解决登录后欢迎语显示问题

步骤1:修正login函数的POST请求逻辑

在登录成功返回greet.html时,需要把用户名传递给模板:

@app.route("/login2", methods=["POST", "GET"])
def login():
    if request.method == "POST":
        session.permanent = True
        user = request.form["nm"]
        session["user"] = user
        # 传递user参数给模板
        return render_template("greet.html", user=user)
    else:
        if "user" in session:
            return redirect(url_for("greet"))
        return render_template("login2.html")

步骤2:补充greet路由的处理逻辑

你代码里用到了redirect(url_for("greet")),需要添加对应的路由从session中获取用户信息并传递给模板:

@app.route("/greet")
def greet():
    # 从session中读取已登录用户
    user = session.get("user")
    if user:
        return render_template("greet.html", user=user)
    # 未登录则跳转回登录页
    return redirect(url_for("login"))

步骤3:修改greet.html模板接收变量

把模板里的空占位符改为接收user变量:

{% extends "base.html" %}
{% block content %}
 <h1>Welcome</h1>
 <p>Hi, Welcome to the app {{ user }} .</p>
{% endblock %}

完成以上修改后,不管是登录成功直接渲染欢迎页,还是从session跳转进入欢迎页,都能正确显示带用户名的欢迎语。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 08:55:17