Python:无法调用导入模块的方法
我有一个简单的函数用来登录用户。它首先确认用户的详细信息是否正确;
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)
任何帮助都非常感谢!
相关文章:
- 暂无相关问题
2 个回答
0
虽然我不能确切指出这个错误是从哪里来的,但这个错误本身似乎给了我们一个明确的提示。Python认为“user”是一个函数,而不是一个模块。可能在其他地方定义了一个“user”函数,所以Python实际上是导入了那个函数。
0
尝试:
from user import loginValidate
还有:
if loginValidate(_email, _password) == True: