Compare commits

...

6 Commits

Author SHA1 Message Date
Nyemba Ambela Jean Nicolas 37634eef6a Dev Repot Update
2 weeks ago
Nyemba Ambela Jean Nicolas 960e55bdae Modification du fichier gitignore
2 weeks ago
Nyemba Ambela Jean Nicolas 5b0feb63ac Merge branch 'design' into dev
2 weeks ago
Nyemba Ambela Jean Nicolas a6218563be Rename Rapport/Notes
2 weeks ago
Nyemba Ambela Jean Nicolas 5d929dc5ba Ajout du design de la page home
3 weeks ago
Nyemba Ambela Jean Nicolas 1294564127 Flask, deploiement serveur/structuration de l'application en package | git, ajout d'une branche design
3 weeks ago

Binary file not shown.

Binary file not shown.

@ -1,97 +0,0 @@
from datetime import datetime
from flask import Flask, render_template, url_for, flash, redirect
from flask_sqlalchemy import SQLAlchemy # type: ignore
from forms import RegistrationForm, LoginForm
app = Flask(__name__)
app.config['SECRET_KEY'] = 'db3746b2ffa650b3804e4316d227f853'
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///blogsite.db'
db = SQLAlchemy(app)
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}')"
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)
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0', port=8700)

@ -0,0 +1,10 @@
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

@ -0,0 +1,27 @@
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}')"

@ -0,0 +1,58 @@
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)

Binary file not shown.

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