Я пытался заставить мою страницу регистрации работать в течение пары дней. Я думаю, что я близко, но теперь я получаю следующее сообщение об ошибке в моем терминале, когда я пытаюсь нажать кнопку регистрации со страницы входа в систему:
Файл "/home/ubuntu/workspace/pset7/finance/application.py", строка 175, в обработчике ошибок
return apology(e.name, e.code)
AttributeError: у объекта 'ValueError' нет атрибута 'name'
Вот мой код из строк, на которые указывает ошибка (я не писал их, им был предоставлен код распределения):
def errorhandler(e):
"""Handle error"""
return apology(e.name, e.code)
Любая помощь будет принята с благодарностью. Я включу свой код функции регистра на всякий случай, если это поможет:
@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":
# Ensure username was submitted
if not request.form.get("username"):
return apology("must provide username", 403)
# Ensure password was submitted
elif not request.form.get("password"):
return apology("must provide password", 403)
# Ensure password == confirmation
elif request.form.get("password") != request.form.get("confirmation"):
return apology("password and confirmation do not match", 403)
# Ensure username is not already taken
rows = db.execute("SELECT * FROM users WHERE username = :username",
username=request.form.get("username"))
if len(rows) == 1:
return apology("username already taken. please choose another", 403)
# Add new user to the database
session["user_id"] = db.execute("INSERT INTO users(username, hash) VALUES(:username, :hash)", username=request.form.get("username"), \
hash=generate_password_hash(request.form.get("password")))
# Redirect user to home page
return redirect("/")
Спасибо!