[python] Register Function

Viewer

copydownloadembedprintName: Register Function
  1. @app.route("/register", methods=["GET", "POST"])
  2. def register():
  3.     """Register user"""
  4.     # User reached route via POST (as by submitting a form via POST)
  5.     if request.method == "POST":
  6.         # make sure user types a username
  7.         if not request.form.get("username"):
  8.             flash("You must provide a username")
  9.             return render_template("register.html")
  10.  
  11.  
  12.         # make sure user types a password
  13.         elif not request.form.get("password"):
  14.             flash("You must provide a password")
  15.             return render_template("register.html")
  16.  
  17.  
  18.         # make sure user types a confirmation
  19.         elif not request.form.get("confirmation"):
  20.             flash("You must confirm your password")
  21.             return render_template("register.html")
  22.  
  23.  
  24.         # make sure user confirms password
  25.         elif request.form.get("password") != request.form.get("confirmation"):
  26.             flash("Confirmation doesn't match password")
  27.             return render_template("register.html")
  28.  
  29.  
  30.         # hash password
  31.         hashed = generate_password_hash(request.form.get("password"))
  32.  
  33.         # Insert username and hash of password in the database
  34.         result = db.execute("INSERT INTO users (username, hash) VALUES (:username, :hash)",
  35.                             username=request.form.get("username"), hash=hashed)
  36.  
  37.         # Ensure username is not repeated
  38.         if not result:
  39.             flash("username unavailable")
  40.             return render_template("register.html")
  41.  
  42.         # Start session
  43.         rows = db.execute("SELECT * FROM users WHERE username = :username", username=request.form.get("username"))
  44.  
  45.         session["user_id"] = rows[0]["id"]
  46.  
  47.         # redirect user to home
  48.         return redirect("/")
  49.  
  50.     # if user reached route via GET
  51.     else:
  52.         return render_template("register.html")

Editor

You can edit this paste and save as new:


File Description
  • Register Function
  • Paste Code
  • 29 Nov-2020
  • 1.85 Kb
You can Share it: