Flask-Project-Template/src/core/routes/login_controller/flask_register.py

42 lines
1.2 KiB
Python
Raw Normal View History

# Python imports
# Lib imports
from flask import flash
from flask import redirect
from flask import request
from flask import render_template
from flask import url_for
# Application imports
# Get from __init__
from core import app
from core import bcrypt
from core import db
from core import current_user
from core import RegisterForm
2020-03-14 08:43:04 +00:00
from core.models import User
2020-10-30 23:25:34 +00:00
from core.utils import MessageHandler # Get simple message processor
msgHandler = MessageHandler()
2020-12-16 00:51:03 +00:00
2020-10-30 23:25:34 +00:00
@app.route('/app-register', methods=['GET', 'POST'])
def app_register():
if current_user.is_authenticated or app.config["REGISTER_DISABLED"]:
2020-03-14 08:43:04 +00:00
return redirect(url_for("home"))
2020-03-14 08:43:04 +00:00
_form = RegisterForm()
if _form.validate_on_submit():
2020-03-14 08:43:04 +00:00
hashed_password = bcrypt.generate_password_hash(_form.password.data).decode("utf-8")
2020-10-30 23:25:34 +00:00
user = User(username = _form.username.data, email = _form.email.data, password = hashed_password)
2020-03-14 08:43:04 +00:00
db.session.add(user)
db.session.commit()
flash("Account created successfully!", "success")
2020-03-14 08:43:04 +00:00
return redirect(url_for("login"))
2020-11-05 18:50:45 +00:00
return render_template('pages/register.html',
2020-10-30 23:25:34 +00:00
form = _form)