首页 > 解决方案 > 我在使用烧瓶的 python 中遇到语法错误,我不知道为什么

问题描述

这是一个简单的 python 文件,仅在使用 POST 方法时将用户发送到页面,如果不只是将他们重定向到“登录”页面。我正在使用 Sublime,它将 return 语句突出显示为错误。当我在命令提示符下运行我的文件时,我也收到一个错误

否则:^ SyntaxError:无效的语法

这是我的代码...

from flask import Flask, redirect, url_for, render_template, request, session

app = Flask(__name__)

@app.route("/")
def home():
    return render_template("index.html")

@app.route("/login", methods=["POST", "GET"])
def login():
    if request.method == "POST":
        user = request.form["nm"]
        session["user"] = user
        return redirect(url_for("user")
    else :
        return render_template("login.html")
## I am getting a syntax error on the two lines above, specifically on the 'else' statement.

@app.route("/user")
def user(usr):
    if "user" in session:
        user = session["user"]
        return f"<h1>{user}</h1>"
    else:
        return redirect(url_for("login"))


if __name__ == "__main__":
    app.run(debug=True)

标签: pythonhtmlflask

解决方案


您忘记关闭第return redirect(url_for("user")14 行中的第二个括号。


推荐阅读