Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os
- from flask import Flask, session, flash, redirect, render_template, request, url_for
- from flask_session import Session
- from sqlalchemy import create_engine
- from sqlalchemy.orm import scoped_session, sessionmaker
- from werkzeug.exceptions import default_exceptions
- from werkzeug.security import check_password_hash, generate_password_hash
- app = Flask(__name__)
- # Check for environment variable
- if not os.getenv("DATABASE_URL"):
- raise RuntimeError("DATABASE_URL is not set")
- # Configure session to use filesystem
- app.config["SESSION_PERMANENT"] = False
- app.config["SESSION_TYPE"] = "filesystem"
- Session(app)
- # Set up database
- engine = create_engine(os.getenv("DATABASE_URL"))
- db = scoped_session(sessionmaker(bind=engine))
- #Configure goodreads api
- @app.route("/")
- def index():
- return render_template("index.html")
- @app.route("/register", methods==["GET", "POST"])
- def register():
- """Register User"""
- if request.method=="POST":
- #hygiene check
- if not request.form.get("username"):
- flash("Please provide username")
- elif not request.form.get("password"):
- flash("Please provide password")
- elif not request.form.get("password")==request.form.get("confirmation"):
- flash("Passwords don't match")
- #hash password and create user in db
- hash = generate_password_hash(request.form.get("password"))
- new_user_id = db.execute("INSERT INTO users (username,hash) VALUES(:username, :hash)",
- username=request.form.get("username"), hash=hash)
- #must be unique username
- if not new_user_id:
- flash("Username not available")
- # Remember which user has logged in
- session["user_id"] = new_user_id
- # Display a flash message
- flash("Registered!")
- # Redirect user to home page
- return redirect(url_for("index"))
- else:
- return render_template("register.html")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement