Я пытаюсь настроить функцию регистрации на моем сайте, и я застрял в настройке логики для запросов к базе данных, чтобы увидеть, существует ли имя пользователя.Если это произойдет, он должен вернуть страницу с извинениями.
Это мой код:
@app.route("/register", methods=["GET", "POST"])
def register():
"""Register user"""
# User reached route via POST (as by submitting a form via POST)
if request.method == "POST":
# Stored POST data to variables
username = request.form.get('username')
password = request.form.get('password')
confirmation = request.form.get('confirmation')
# Ensure username was submitted
if not username:
return apology("must provide username", 403)
# Ensure password and confirmation were both submitted
elif not password:
return apology("must provide password in both fields", 403)
# Ensure passwords match
elif confirmation != password:
return apology("passwords do not match", 403)
elif db.execute('SELECT id FROM users WHERE username = ?',
(username,)).fetchone() is not None:
return apology("Username already exists", 403)
Я получаю эту ошибку:
elif db.execute('SELECT id FROM users WHERE username = ?',
(username,)).fetchone() is not None:
TypeError: execute() takes 2 positional arguments but 3 were given
Я видел код, гдеСначала они используют метод cursor (), но я думал, что метод execute () делает это в Python 3?Не могли бы вы помочь с моим запросом к базе данных, спасибо.