J'ai une fonction simple pour enregistrer un utilisateur. Il confirme d'abord si les détails de l'utilisateur sont corrects;Python: Impossible d'appeler la méthode du module importé
import user
@app.route("/login/", methods=['POST', 'GET'])
def login():
if request.method == 'GET':
return render_template('login.html')
else:
_email = request.form['email']
_password = request.form['password']
if user.loginValidate(_email, _password) == True:
session['username'] = user.getUserName(_email)
session['loggedin'] = True
return redirect(url_for('home'))
else:
flash('Email or password incorrect!')
return render_template('login.html')
Maintenant, pour une raison quelconque quand j'essaie d'appeler loginValidate
je reçois une erreur qui 'function' object has no attribute loginValidate
.
Le module a loginValidate
qui renvoie soit True
ou False
, donc je ne vois pas quel est le problème.
loginValidate
(dans le module user
):
def loginValidate(this_email, this_password):
db = sqlite3.connect('data')
cursor = db.cursor()
cursor.execute("SELECT password FROM users WHERE email = ?", (this_email,))
row = cursor.fetchone()
hash = row[0]
db.close()
return hash == bcrypt.hashpw(this_password, hash)
Toute aide est appréciée!
Avez-vous défini une classe dans user.py? – shahvishal
Je ne sais pas, la chose étrange c'est que ça marchait il y a seulement 10 minutes (donc je sais que ça marche), donc j'ai dû accidentellement changer quelque chose de petit qui a affecté ça –