Application - Error Message

dev
nico 5 days ago
parent e9781a3101
commit 05b33baf9f

Binary file not shown.

@ -1,10 +1,15 @@
from flask import Flask
from flask_sqlalchemy import SQLAlchemy # type: ignore
from flask_bcrypt import Bcrypt # type: ignore
app = Flask(__name__)
app.config['SECRET_KEY'] = 'db3746b2ffa650b3804e4316d227f853'
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///blogsite.db'
db = SQLAlchemy(app)
bcrypt = Bcrypt(app)
from blogapp import routes

@ -1,6 +1,7 @@
from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField, SubmitField, BooleanField
from wtforms.validators import DataRequired, Length, Email, EqualTo
from wtforms.validators import DataRequired, Length, Email, EqualTo, ValidationError
from blogapp.models import User
class RegistrationForm(FlaskForm):
@ -14,6 +15,15 @@ class RegistrationForm(FlaskForm):
validators=[DataRequired(), EqualTo('password')])
submit =SubmitField('Sign Up')
def validate_username(self, username):
user = User.query.filter_by(username=username.data).first()
if user:
raise ValidationError('That username is taken. Please choose a different one')
def validate_email(self, email):
user = User.query.filter_by(email=email.data).first()
if user:
raise ValidationError('That email is taken. Please choose a different one')
class LoginForm(FlaskForm):
email = StringField('Email',

@ -1,5 +1,5 @@
from flask import render_template, url_for, flash, redirect
from blogapp import app
from blogapp import app, db, bcrypt
from blogapp.forms import RegistrationForm, LoginForm
from blogapp.models import User, Post
@ -28,8 +28,15 @@ def home():
def register():
form = RegistrationForm()
if form.validate_on_submit():
flash(f'Account created for {form.username.data}!')
return redirect(url_for('home'))
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)
@ -38,8 +45,8 @@ def login():
form = LoginForm()
if form.validate_on_submit():
if form.email.data == 'admin' and form.password.data == 'admin':
flash('You have been log in !')
flash(f'You have been log in !')
return redirect(url_for('home'))
else:
flash('Login Unsuccessful')
flash(f'Login Unsuccessful')
return render_template('login.html', title='login', form=form, pagetitle=pagetitle)

@ -0,0 +1,3 @@
.invalid {
color:red;
}

@ -13,7 +13,7 @@
<body>
<header>
{% block navbar %}
<ul>
<li><a href="{{ url_for('home') }}"> home </a></li>
@ -21,27 +21,31 @@
<li><a href="{{ url_for('register') }}">register</a></li>
</ul>
{% endblock %}
</header>
<main>
{% for head in pagetitle %}
{% if title == head.title %}
<h1>{{ head.title }}</h1>
{% endif %}
{% endfor %}
<div>
{% with messages = get_flashed_messages(with_categories=true) %}
{% if messages %}
{% for caterogy, message in messages %}
<div>
<div class="alert alert-{{ category }}">
{{ message }}
</div>
{% endfor %}
{% endif %}
{% endwith %}
{% for head in pagetitle %}
{% if title == head.title %}
<h1>{{ head.title }}</h1>
{% endif %}
{% endfor %}
<div>
{% block content %}
{% endblock %}
</div>
</main>
</body>
</html>

@ -11,8 +11,8 @@
{{ form.email.label() }}
{% if form.email.errors %}
{{ form.email() }}
<div>
{% for errors in form.email.errors %}
<div class="invalid">
{% for error in form.email.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
@ -27,8 +27,8 @@
{{ form.password.label() }}
{% if form.password.errors %}
{{ form.password()}}
<div>
{% for errors in form.password.errors %}
<div class="invalid">
{% for error in form.password.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>

@ -1,7 +1,5 @@
{% extends "layout.html" %}
{% block content %}
<div>
@ -13,8 +11,8 @@
{{ form.username.label() }}
{% if form.username.errors %}
{{ form.username()}}
<div>
{% for errors in form.username.errors %}
<div class="invalid">
{% for error in form.username.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
@ -27,8 +25,8 @@
{{ form.email.label() }}
{% if form.email.errors %}
{{ form.email() }}
<div>
{% for errors in form.email.errors %}
<div class="invalid">
{% for error in form.email.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
@ -43,13 +41,13 @@
{{ form.password.label() }}
{% if form.password.errors %}
{{ form.password() }}
<div>
{% for errors in form.password.errors %}
<div class="invalid">
{% for error in form.password.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
{% else %}
{{ form.password() }}
{{ form.password(class="form-control") }}
{% endif %}
</div>
@ -59,8 +57,8 @@
{{ form.confirm_password.label() }}
{% if form.confirm_password.errors %}
{{ form.confirm_password()}}
<div>
{% for errors in form.confirm_password.errors %}
<div class="invalid">
{% for error in form.confirm_password.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>

Binary file not shown.
Loading…
Cancel
Save