Advertisement
Guest User

register

a guest
Mar 22nd, 2019
245
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.87 KB | None | 0 0
  1. @app.route("/register", methods=["GET", "POST"])
  2. def register():
  3.     """Register user"""
  4.  
  5.     # User reached route via POST (as by submitting a form via POST)
  6.     if request.method == "POST":
  7.  
  8.         # Ensure username was submitted
  9.         if not request.form.get("username"):
  10.             return apology("must provide username")
  11.  
  12.         # Ensure password was submitted
  13.         elif not request.form.get("password"):
  14.             return apology("must provide password")
  15.  
  16.         # Ensure password matches
  17.         elif request.form.get("password") != request.form.get("confirmation"):
  18.             return apology("password must match")
  19.  
  20.         else:
  21.             # Hash password
  22.             hash = generate_password_hash(request.form.get("password"))
  23.  
  24.             # Add user to database
  25.             result = db.execute("INSERT INTO users (username, hash) VALUES(:username, :hash)",
  26.                                 username=request.form.get("username"), hash=hash)
  27.  
  28.             if not result:
  29.                 return apology("username already exists...!",)
  30.             else:
  31.                 # Remember user
  32.                 session["user_id"] = result
  33.  
  34.                 # Flask - flash message
  35.                 flash("You are now registered!")
  36.  
  37.                 # Redirect user to home page
  38.                 return redirect("/")
  39.  
  40.     # User reached route via GET (as by clicking a link or via redirect)
  41.     else:
  42.         return render_template("register.html")
  43.  
  44.  
  45. {% extends "layout.html" %}
  46.  
  47. {% block title %}
  48.     Register
  49. {% endblock %}
  50.  
  51. {% block main %}
  52.  
  53.     <form id="myForm" action="/register" method="post">
  54.         <div class="form-group">
  55.             <input autocomplete="off" autofocus class="form-control" id="username" name="username" placeholder="Username" type="text">
  56.         </div>
  57.         <div class="form-group">
  58.             <input class="form-control" name="password" placeholder="Password" type="password">
  59.         </div>
  60.         <div class="form-group">
  61.             <input class="form-control" name="confirmation" placeholder="Password (again)" type="password">
  62.         </div>
  63.         <button class="btn btn-primary" type="button">Register</button>
  64.     </form>
  65.  
  66.  
  67.     <script>
  68.  
  69.         $('document').ready(function () {
  70.             $('#myForm').submit(function (event) {
  71.                 var username = document.getElementById('username').value;
  72.                 event.preventDefault();
  73.                 $.get("/check?username=" + username, function (data) {
  74.                     if (!data) {
  75.                         alert("username already taken!");
  76.                         return false;
  77.                     }
  78.                     else {
  79.                         document.getElementById("#myForm").submit();
  80.                         return true;
  81.                     }
  82.                 });
  83.             });
  84.         });
  85.  
  86.     </script>
  87.  
  88. {% endblock %}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement