from flask import Blueprint, Flask, request, flash, render_template, url_for, session, redirect, abort, make_response, send_file, escape import sqlite3 from flask_bcrypt import Bcrypt app = Flask( 'pywallter' ) app.config.from_pyfile('config.py') bcrypt = Bcrypt(app) #### Variables #################################################################################### bcrypt = Bcrypt(app) DOSSIER_PERSO= app.config['DOSSIER_APP'] extensionimg = app.config['EXT_IMG'] DATABASE = app.config['DATABASE'] ################################################################################################## loginlogout = Blueprint('loginlogout', __name__, template_folder='templates') @loginlogout.route( '/login/', methods=['GET','POST'] ) def login() : if 'username' in session : resp = redirect(url_for('filesupload.uploadfiles', _external=True)) else : resp = redirect(url_for('loginlogout.login', _external=True)) if request.method == 'POST' : conn = sqlite3.connect(DATABASE) # Connexion à la base de donnée cursor = conn.cursor() # Création de l'objet "curseur" cursor.execute("""SELECT name, passwd FROM users""") users = cursor.fetchall() conn.close() password = request.form['passwd'] for user in users: print (user[0]) passwd = str(user[1] ) print ( passwd[2:(len(passwd)-1 )] ) if user[0] == request.form['user'] and bcrypt.check_password_hash(user[1], password) is True: session['username'] = request.form['user'] resp = redirect(url_for('profil.profile', _external=True)) else: resp = render_template('accueil.html', signin_enable=app.config['SIGNIN_ENABLE']) return resp @loginlogout.route( '/logout/' ) def logout(): session.pop('username', None) # Supprimer username de la session s'il s'y trouve return redirect(url_for('loginlogout.index')) @loginlogout.route( '/' ) def index(): if 'username' in session : return redirect(url_for('profil.profile')) else : return redirect(url_for('loginlogout.login', _external=True))