Как исправить "UnboundLocalError: локальная переменная 'books', на которую ссылаются до назначения"? - PullRequest
0 голосов
/ 04 февраля 2019

Я новичок в python и в настоящее время пытаюсь отобразить данные из моей базы данных на моей домашней странице, но я получаю вышеуказанную ошибку.

Я использую Python 3.7.Я попытался установить 'books' как глобальную переменную, но в результате я получил другую ошибку 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 голосов
/ 04 февраля 2019

Измените свой код на этот

@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)

И дайте мне знать, что происходит

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...