diff options
| author | stilbruch <stilbruch@protonmail.com> | 2022-03-23 11:41:56 -0500 |
|---|---|---|
| committer | stilbruch <stilbruch@protonmail.com> | 2022-03-23 11:41:56 -0500 |
| commit | 43755d0b6d1f65fd65862454be81bd0f5d7ff7dd (patch) | |
| tree | cda186697f96866320932db6e57683e4a19c3905 | |
| parent | 86a33131217b187a2ccc7888dbda2f0a8236ec7c (diff) | |
| parent | 0ba2434ed1a1dca443506e3a4204807502bf41f6 (diff) | |
| download | Strengthy-43755d0b6d1f65fd65862454be81bd0f5d7ff7dd.tar.xz Strengthy-43755d0b6d1f65fd65862454be81bd0f5d7ff7dd.zip | |
Merge branch 'master' of stilbruch.xyz:strengthy
| -rw-r--r-- | app/app.py | 8 | ||||
| -rw-r--r-- | app/login.py | 18 | ||||
| -rw-r--r-- | app/routes.py | 5 | ||||
| -rw-r--r-- | requirements.txt | 5 |
4 files changed, 36 insertions, 0 deletions
@@ -1,8 +1,16 @@ from flask import Flask +from flask_sqlalchemy import SQLAlchemy # Setup app before doing imports app = Flask(__name__) app.config['TEMPLATES_AUTO_RELOAD'] = True +app.config['SECRET_KEY'] = "super duper secret" # FIXME: do not use in prod +app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite://../strenghty.db' +app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False + +# Setup SQLAlchemy +# https://flask-sqlalchemy.palletsprojects.com/en/2.x/quickstart/#a-minimal-application +db = SQLAlchemy(app) # Load routes import routes diff --git a/app/login.py b/app/login.py index 7e441b2..6d4b4a2 100644 --- a/app/login.py +++ b/app/login.py @@ -1,7 +1,25 @@ from app import app from database import database_get from flask_login import LoginManager, UserMixin, current_user +from flask_wtf import FlaskForm +from wtforms import StringField, PasswordField, BooleanField +from wtforms.validators import DataRequired, Email +# https://python.plainenglish.io/implementing-flask-login-with-hash-password-888731c88a99 + +# Forms classes for flask_wtf +class LoginForm(FlaskForm): + username = StringField("username", validators=[DataRequired()]) + password = PasswordField("password", validators=[DataRequired()]) + remember_me = BooleanField() + +class RegisterForm(FlaskForm): + username = StringField("username", validators=[DataRequired()]) + password = PasswordField("password", validators=[DataRequired()]) + name = StringField("name") + email = StringField("email", validators=[DataRequired(), Email()]) + +# User class for flask_login class User(UserMixin): def __init__(self, id, email, password_hash): self.id = unicode(id) diff --git a/app/routes.py b/app/routes.py index 0cb9043..fdf65e3 100644 --- a/app/routes.py +++ b/app/routes.py @@ -1,6 +1,7 @@ from app import app from database import database_get from flask import render_template +from login import * @app.route("/", methods=["GET"]) def index(): @@ -12,4 +13,8 @@ def login(): @app.route("/register", methods=["GET"]) def register(): + form = RegisterForm() + + #if form.validate_on_submit(): + # # TODO: make sure username isnt taken somehow return render_template('user/register.html') diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..2bc12bc --- /dev/null +++ b/requirements.txt @@ -0,0 +1,5 @@ +email_validator +flask +flask_login +flask_SQLAlchemy +flask_wtf |
