[英]Python: Cannot call method from imported module
我有一個簡單的功能可以登錄用戶。它首先確認用戶詳細信息是否正確;然后確認用戶詳細信息是否正確。
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')
現在由於某種原因,當我嘗試調用loginValidate
,出現一個錯誤,提示'function' object has no attribute loginValidate
。
該模塊確實具有loginValidate
,它返回True
或False
,所以我看不出問題是什么。
loginValidate
(在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)
任何幫助表示贊賞!
嘗試:
from user import loginValidate
和:
if loginValidate(_email, _password) == True:
盡管我無法確切指出發生的地方,但錯誤本身似乎足夠清晰。 Python認為“用戶”是一個函數,而不是一個模塊。 也許在其他地方定義了“用戶”功能,而python實際上將其導入
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.