Login postgresql: Rowproxy, как получить доступ к атрибутам объектов в списках и NoneType, как создать исключения для него - PullRequest
0 голосов
/ 26 марта 2020

Я пытаюсь сделать простую страницу входа, используя progre sql и flask. У меня есть 2 вопроса:

1) использовал функцию fetchall (), которая вернула объект в списке. как мне правильно получить доступ к атрибуту в объекте в списке? (который я связал с моей переменной строки) https://docs.sqlalchemy.org/en/13/core/connections.html#sqlalchemy .engine.RowProxy

2) Как мне зарегистрироваться для NoneType в моем заявлении if? (в настоящее время это происходит, когда пользователи ничего не вводят в моем поле имени пользователя) Я тоже попробовал row.rowcount == 0 и, похоже, выдает ошибку после того, как я использую fetchall () / fetchone ()

   @app.route("/login", methods=["POST"])
def login():
    """Login to site"""

    userNameVariableInApplication_py = request.form['userNameFromHTML']


    row = db.execute("SELECT * FROM usersAndPasswords_table WHERE username = :username", {"username": userNameVariableInApplication_py}).fetchall()


    if None or row.id!=1 or not (verify_password(row.password, request.form['passwordFromHTML'])):
        return render_template("error.html", message="invalid login details")

    return render_template("success.html", message="logged in!")
...