Compare commits

...

5 Commits

Author SHA1 Message Date
nico 05b33baf9f Application - Error Message
5 days ago
nico e9781a3101 Merge branch 'main' of https://dev.the-phi.com/git/nico/blog-app into dev
2 weeks ago
Nyemba Ambela Jean Nicolas 688e01b2c9 Repot Update
2 weeks ago
Nyemba Ambela Jean Nicolas d764c508a2 Structuration du projet en migranttoutes les branches
2 weeks ago
Nyemba Ambela Jean Nicolas ef15ff8d4b Merge branch 'dev'
2 weeks ago

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
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,16 +21,9 @@
<li><a href="{{ url_for('register') }}">register</a></li>
</ul>
{% endblock %}
</header>
{% with messages = get_flashed_messages(with_categories=true) %}
{% if messages %}
{% for caterogy, message in messages %}
<div>
{{ message }}
</div>
{% endfor %}
{% endif %}
{% endwith %}
<main>
{% for head in pagetitle %}
{% if title == head.title %}
@ -38,10 +31,21 @@
{% endif %}
{% endfor %}
<div>
{% with messages = get_flashed_messages(with_categories=true) %}
{% if messages %}
{% for caterogy, message in messages %}
<div class="alert alert-{{ category }}">
{{ message }}
</div>
{% endfor %}
{% endif %}
{% endwith %}
{% 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>
@ -11,62 +9,62 @@
<legend>Join Today</legend>
<div>
{{ form.username.label() }}
{% if form.username.errors %}
{{ form.username()}}
<div>
{% for errors in form.username.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
{% else %}
{{ form.username() }}
{% endif %}
{% if form.username.errors %}
{{ form.username()}}
<div class="invalid">
{% for error in form.username.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
{% else %}
{{ form.username() }}
{% endif %}
</div>
<br>
<div>
{{ form.email.label() }}
{% if form.email.errors %}
{{ form.email() }}
<div>
{% for errors in form.email.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
{% else %}
{{ form.email() }}
{% endif %}
{% if form.email.errors %}
{{ form.email() }}
<div class="invalid">
{% for error in form.email.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
{% else %}
{{ form.email() }}
{% endif %}
</div>
<br>
<div>
{{ form.password.label() }}
{% if form.password.errors %}
{{ form.password()}}
<div>
{% for errors in form.password.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
{% else %}
{{ form.password() }}
{% endif %}
{% if form.password.errors %}
{{ form.password() }}
<div class="invalid">
{% for error in form.password.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
{% else %}
{{ form.password(class="form-control") }}
{% endif %}
</div>
<br>
<div>
{{ form.confirm_password.label() }}
{% if form.confirm_password.errors %}
{{ form.confirm_password()}}
<div>
{% for errors in form.confirm_password.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
{% else %}
{{ form.confirm_password() }}
{% endif %}
{% if form.confirm_password.errors %}
{{ form.confirm_password()}}
<div class="invalid">
{% for error in form.confirm_password.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
{% else %}
{{ form.confirm_password() }}
{% endif %}
</div>
</fieldset>
<div>

Binary file not shown.
Loading…
Cancel
Save