Compare commits

...

4 Commits
main ... design

Author SHA1 Message Date
Nyemba Ambela Jean Nicolas 6db909dce7 design repot Updated
2 weeks ago
Nyemba Ambela Jean Nicolas 4c06b8a040 design repot updated
2 weeks ago
Nyemba Ambela Jean Nicolas 3f83882c62 Seconde modification de la branche design design
2 weeks ago
Nyemba Ambela Jean Nicolas a0d8c882e6 On ignore certain fichier dans la branche design
2 weeks ago

2
.gitignore vendored

@ -1,2 +0,0 @@
venv/
__pycache__/

@ -1,8 +1,3 @@
# Projet / Application :
Création dune application web de type page de blog avec Flask. Lapplication permettra aux utilisateurs de sinscrire (avec vérification par email) et de se connecter pour poster des articles sur une page web.
# Outils :
- Html/Css
- Git
- Python (Flask, Environnement virtuel (Sandbox))
Design asset

Binary file not shown.

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

@ -1,24 +0,0 @@
from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField, SubmitField, BooleanField
from wtforms.validators import DataRequired, Length, Email, EqualTo
class RegistrationForm(FlaskForm):
username = StringField('Username',
validators=[DataRequired(), Length(min=2, max=20)])
email = StringField('Email',
validators=[DataRequired(), Email()])
password = PasswordField('Password' , validators=[DataRequired()])
confirm_password = PasswordField('Confirm Password' ,
validators=[DataRequired(), EqualTo('password')])
submit =SubmitField('Sign Up')
class LoginForm(FlaskForm):
email = StringField('Email',
validators=[DataRequired(), Email()])
password = PasswordField('Password' , validators=[DataRequired()])
remember = BooleanField('Remember Me')
submit =SubmitField('Login')

@ -1,27 +0,0 @@
from datetime import datetime
from blogapp import db
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(20), unique=True, nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False)
image_file = db.Column(db.String(20), nullable=False,
default='default.jpg')
password = db.Column(db.String(60), nullable=False)
posts = db.relationship('Post', backref='author', lazy=True)
def __repr__(self):
return f"User('{self.username}', '{self.image_file}')"
class Post(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(100), nullable=False)
date_posted = db.Column(db.DateTime, nullable=False,
default=datetime.utcnow)
content = db.Column(db.Text, nullable=False)
user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
def __repr__(self):
return f"Post('{self.title}', '{self.date_posted}')"

@ -1,58 +0,0 @@
from flask import render_template, url_for, flash, redirect
from blogapp import app
from blogapp.forms import RegistrationForm, LoginForm
from blogapp.models import User, Post
posts = [
{
'pagetitle': 'home page'
}
]
navbaritems = [
{
'name': 'home',
'url': 'home'
},
{
'name': 'login',
'url': 'login'
},
{
'name': 'register',
'url': 'register'
}
]
@app.route("/")
@app.route("/home")
def home():
return render_template('home.html', posts=posts, navbaritems=navbaritems)
@app.route("/about")
def about():
return render_template('about.html', title='About', posts=posts, navbaritems=navbaritems)
@app.route("/register", methods=['GET', 'POST'])
def register():
form = RegistrationForm()
if form.validate_on_submit():
flash(f'Account created for {form.username.data}!')
return redirect(url_for('home'))
return render_template('register.html', title='Register', form=form)
@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('You have been log in !')
return redirect(url_for('home'))
else:
flash('Login Unsuccessful')
return render_template('login.html', title='Login', form=form)

@ -1,10 +0,0 @@
{% extends "layout.html" %}
{% block content %}
{% for post in posts %}
<p> {{ post.universe }} </p>
<p> {{ post.powerlevel }} </p>
<i> {{ post.date_posted }} </i>
{% endfor %}
{% endblock content %}

@ -1,8 +0,0 @@
{% extends "layout.html" %}
{% block content %}
{% for post in posts %}
<h1>{{ post.pagetitle }}</h1>
{% endfor %}
{% endblock content %}

@ -1,40 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="{{ url_for('static', filename='main.css')}}">
{% if title %}
<title>Blog post - {{ title }}</title>
{% else %}
<title>Blog posts</title>
{% endif %}
</head>
<body>
{% block navbar %}
{% for post in navbaritems %}
<li><a href="{{ post.url }}"> {{ post.name }} </a></li>
{% endfor %}
{% endblock %}
{% with messages = get_flashed_messages(with_categories=true) %}
{% if messages %}
{% for caterogy, message in messages %}
<div>
{{ message }}
</div>
{% endfor %}
{% endif %}
{% endwith %}
<div>
{% block content %}
{% endblock %}
</div>
</body>
</html>

@ -1,61 +0,0 @@
{% extends "layout.html" %}
{% block content %}
<div>
<form method="POST" action="">
{{ form.hidden_tag() }}
<fieldset>
<legend>Login</legend>
<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 %}
</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 %}
</div>
<br>
<div>
{{ form.remember() }}
{{ form.remember.label() }}
</div>
</fieldset>
<div>
{{ form.submit() }}
</div>
<small>
<a href="#">Forgot Password</a>
</small>
</form>
</div>
<div>
<small>Need an Account ? <a href="{{ url_for('register') }}">Sign Up Now</a></small>
</div>
{% endblock content %}

@ -1,82 +0,0 @@
{% extends "layout.html" %}
{% block content %}
<div>
<form method="POST" action="">
{{ form.hidden_tag() }}
<fieldset>
<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 %}
</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 %}
</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 %}
</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 %}
</div>
</fieldset>
<div>
{{ form.submit() }}
</div>
</form>
</div>
<div>
<small>Already Have an Account ? <a href="{{ url_for('login') }}">Sign In</a></small>
</div>
{% endblock content %}

Binary file not shown.

Binary file not shown.

@ -1,5 +0,0 @@
from blogapp import app
if __name__ == '__main__':
app.run(debug=True, host="0.0.0.0", port=8700)
Loading…
Cancel
Save