Добрый день всем,
Я пытаюсь получить данные формы со страницы / регистрации и зарегистрировать пользователя. это часть моего проекта, данного курсом веб-программирования CS50, и я ничего не понимаю, поскольку он не работает без проблем, а код выглядит несколько грязным. Я хотел бы попросить пересмотреть код по этому вопросу, и ограничение заключается в том, что я не могу использовать ORM, и мне разрешено использовать только сеансы.
Правильно ли я это сделал? я хотя бы близок к написанию работающего кода?
@app.route("/register", methods=['GET','POST'])
def register():
if request.method == "POST":
# check if username and email exist
username = request.form.get("username")
email = request.form.get("email")
u = db.execute("SELECT username FROM users WHERE username = :username",{"username": username}).fetchone()
if u is not None:
return "username already exists"
u = db.execute("SELECT username FROM users WHERE email = :email",{"email": email}).fetchone()
if u is not None:
return "email already exists"
# check if password and confirm_password match
if request.form.get("password") != request.form.get("confirm_password"):
return "password do not match"
# insert user if statisfy all requirements
hashed_password = generate_password_hash(request.form.get("password"))
db.execute("INSERT INTO users (username, email, password) VALUES (:username, :email, :password)",
{"username": username, "email": email, "password": hashed_password})
db.commit()
# render login page once registerd
return render_template("register.html")