Question: this is my code from flask import Flask, render_template, url_for, flash, redirect from flask_sqlalchemy import SQLAlchemy from forms import RegistrationForm, LoginForm from werkzeug.security import generate_password_hash,

this is my code

from flask import Flask, render_template, url_for, flash, redirect from flask_sqlalchemy import SQLAlchemy from forms import RegistrationForm, LoginForm from werkzeug.security import generate_password_hash, check_password_hash from sqlalchemy.exc import IntegrityError app = Flask(__name__, template_folder='template') app.config['SECRET_KEY'] = 'HELLO WORLD!' app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///site.db' db = SQLAlchemy(app) class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(20), unique=True, nullable=False) email = db.Column(db.String(120), unique=True, nullable=False) password = db.Column(db.String(60), nullable=False) def __init__(self, username, email, password): self.username = username self.email = email self.password = generate_password_hash(password) def check_password(self, password): return check_password_hash(self.password, password) @app.route("/") def index(): return redirect(url_for('login')) @app.route("/register", methods=['GET', 'POST']) def register(): form = RegistrationForm() if form.validate_on_submit(): hashed_password = generate_password_hash(form.password.data) user = User(username=form.username.data, email=form.email.data, password=hashed_password) try: db.session.add(user) db.session.commit() flash('Your account has been created! You are now able to log in', 'success') return redirect(url_for('login')) except IntegrityError as e: db.session.rollback() flash('Email already exists.', 'danger') return redirect(url_for('register')) return render_template('register.html', title='Register', form=form) @app.route("/login", methods=['GET', 'POST']) def login(): form = LoginForm() if form.validate_on_submit(): user = User.query.filter_by(email=form.email.data).first() if user and user.check_password(form.password.data): flash('You have been logged in!', 'success') return redirect(url_for('home')) else: flash('Login Unsuccessful. Please check email and password') return render_template('login.html', title='Login', form=form) def create_tables(): with app.app_context(): db.create_all() if __name__ == '__main__': with app.app_context(): create_tables() app.run(debug=True) 

this is my code from flask import Flask, render_template, url_for, flash, redirectmy site.db having some problem because i can create user in the register page but i cant use the created user to log in

Project

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!