protections added

This commit is contained in:
Seligmann
2022-03-26 19:15:45 -05:00
parent 9e9564154f
commit 7c4bd7e8d2
4 changed files with 26 additions and 10 deletions

View File

@@ -1,5 +1,6 @@
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_login import LoginManager
# init SQLAlchemy
db = SQLAlchemy()
@@ -12,6 +13,18 @@ def create_app():
db.init_app(app)
login_manager = LoginManager()
login_manager.login_view = 'auth.login'
login_manager.init_app(app)
from .models import User
@login_manager.user_loader
def load_user(user_id):
return User.query.get(int(user_id))
# idk if i need the rest of this shit below
# blueprint for auth routes in app
from .auth import auth as auth_blueprint
app.register_blueprint(auth_blueprint)

View File

@@ -1,4 +1,5 @@
from flask import Blueprint, render_template, redirect, url_for, request, flash
from flask_login import login_user, current_user, login_required, logout_user
from werkzeug.security import generate_password_hash, check_password_hash
from .models import User
from . import db
@@ -15,8 +16,7 @@ There will also be routes for handling POST requests from login and signup
@auth.route('/login')
def login():
# return render_template('login.html')
return 'Login' # placeholder
return render_template('login.html')
@auth.route('/login', methods=['POST'])
def login_post():
@@ -31,13 +31,13 @@ def login_post():
flash('Please check your login details and try again.')
return redirect(url_for('auth.login'))
login_user(user, remember=remember)
return redirect(url_for('main.profile'))
@auth.route('/signup')
def signup():
# return render_template('signup.html')
return 'Signup' # placeholder
return render_template('signup.html')
@auth.route('/signup', methods=['POST'])
@@ -63,5 +63,7 @@ def signup_post():
@auth.route('/logout')
@login_required
def logout():
return 'Logout' # placeholder
logout_user()
return redirect(url_for('main.index'))

View File

@@ -1,14 +1,14 @@
from flask import Blueprint
from flask_login import login_required, current_user
from . import db
main = Blueprint('main', __name__)
@main.route('/')
def index():
# return render_template('index.html')
return 'Index' # placeholder
return render_template('index.html')
@main.route('/profile')
@login_required
def profile():
# return render_template('profile.html')
return 'Profile' # placeholder
return render_template('profile.html', name=current_user.name)

View File

@@ -1,6 +1,7 @@
from flask_login import UserMixin
from . import db
class User(db.Model):
class User(UserMixin, db.Model):
id = db.Column(db.Integer, primary_key=True)
email = db.Column(db.String(100), unique=True)
password = db.Column(db.String(100))