Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @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")
- # Ensure password was submitted
- elif not request.form.get("password"):
- return apology("must provide password")
- # Ensure password matches
- elif request.form.get("password") != request.form.get("confirmation"):
- return apology("password must match")
- else:
- # Hash password
- hash = generate_password_hash(request.form.get("password"))
- # Add user to database
- result = db.execute("INSERT INTO users (username, hash) VALUES(:username, :hash)",
- username=request.form.get("username"), hash=hash)
- if not result:
- return apology("username already exists...!",)
- else:
- # Remember user
- session["user_id"] = result
- # Flask - flash message
- flash("You are now registered!")
- # Redirect user to home page
- return redirect("/")
- # User reached route via GET (as by clicking a link or via redirect)
- else:
- return render_template("register.html")
- {% extends "layout.html" %}
- {% block title %}
- Register
- {% endblock %}
- {% block main %}
- <form id="myForm" action="/register" method="post">
- <div class="form-group">
- <input autocomplete="off" autofocus class="form-control" id="username" name="username" placeholder="Username" type="text">
- </div>
- <div class="form-group">
- <input class="form-control" name="password" placeholder="Password" type="password">
- </div>
- <div class="form-group">
- <input class="form-control" name="confirmation" placeholder="Password (again)" type="password">
- </div>
- <button class="btn btn-primary" type="button">Register</button>
- </form>
- <script>
- $('document').ready(function () {
- $('#myForm').submit(function (event) {
- var username = document.getElementById('username').value;
- event.preventDefault();
- $.get("/check?username=" + username, function (data) {
- if (!data) {
- alert("username already taken!");
- return false;
- }
- else {
- document.getElementById("#myForm").submit();
- return true;
- }
- });
- });
- });
- </script>
- {% endblock %}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement