如何解决“ UnboundLocalError:分配前引用的本地变量'books'”?

时间:2019-02-04 10:14:42

标签: python flask

我是python的新手,目前正在尝试将数据库中的数据显示到我的主页,但出现上述命名错误。

我正在运行Python 3.7。 我尝试将'books'设置为全局变量,但最终遇到另一个Name错误[未定义Name“ books”]。

    @app.route("/", methods=["GET", "POST"])
    def home():
        if request.form:
            book = Book(title=request.form.get("title"))
            db.session.add(book)
            db.session.commit()
            books = Book.query.all()
        return render_template("home.html", books=books)

我希望当用户加载主页时,当前数据库中的所有书籍都以表格形式显示,但是我却遇到了以上错误。

1 个答案:

答案 0 :(得分:0)

将代码更改为此

@app.route("/", methods=["GET", "POST"])
def home():
    books = {}
    if request.form:
        book = Book(title=request.form.get("title"))
        db.session.add(book)
        db.session.commit()
        books = Book.query.all()
    return render_template("home.html", books=books)

让我知道会发生什么