You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.4 KiB
Python
53 lines
1.4 KiB
Python
from flask import render_template, url_for, flash, redirect
|
|
from blogapp import app, db, bcrypt
|
|
from blogapp.forms import RegistrationForm, LoginForm
|
|
from blogapp.models import User, Post
|
|
|
|
|
|
pagetitle = [
|
|
|
|
{
|
|
'title': 'home'
|
|
},
|
|
{
|
|
'title': 'login'
|
|
},
|
|
{
|
|
'title': 'register'
|
|
}
|
|
]
|
|
|
|
|
|
@app.route("/")
|
|
@app.route("/home")
|
|
def home():
|
|
return render_template('home.html', title='home', pagetitle=pagetitle)
|
|
|
|
|
|
@app.route("/register", methods=['GET', 'POST'])
|
|
def register():
|
|
form = RegistrationForm()
|
|
if form.validate_on_submit():
|
|
hashed_password = bcrypt.generate_password_hash(
|
|
form.password.data).decode('utf-8')
|
|
user = User(username=form.username.data,
|
|
email=form.email.data, password=hashed_password)
|
|
db.session.add(user)
|
|
db.session.commit()
|
|
|
|
flash(f'Your account has been created !!')
|
|
return redirect(url_for('login'))
|
|
return render_template('register.html', title='register', form=form, pagetitle=pagetitle)
|
|
|
|
|
|
@app.route("/login", methods=['GET', 'POST'])
|
|
def login():
|
|
form = LoginForm()
|
|
if form.validate_on_submit():
|
|
if form.email.data == 'admin' and form.password.data == 'admin':
|
|
flash(f'You have been log in !')
|
|
return redirect(url_for('home'))
|
|
else:
|
|
flash(f'Login Unsuccessful')
|
|
return render_template('login.html', title='login', form=form, pagetitle=pagetitle)
|