Python:无法从导入的模块调用方法
我有一个简单的功能来登录用户。它首先确认用户的详细信息是否正确Python:无法从导入的模块调用方法,python,attributeerror,flash-message,Python,Attributeerror,Flash Message,我有一个简单的功能来登录用户。它首先确认用户的详细信息是否正确 import user @app.route("/login/", methods=['POST', 'GET']) def login(): if request.method == 'GET': return render_template('login.html') else: _email = request.form['email'] _passw
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'对象没有属性loginValidate
模块确实有loginValidate
,它返回True
或False
,因此我看不出问题出在哪里
loginValidate
(在user
模块中):
感谢您的帮助 试试看:
from user import loginValidate
if loginValidate(_email, _password) == True:
和:
from user import loginValidate
if loginValidate(_email, _password) == True:
虽然我不能确切地指出这是从哪里产生的,但错误本身似乎是一个足够清楚的暗示。Python认为“用户”是一个函数,而不是一个模块。也许在其他地方定义了一个“用户”函数,python实际上导入了这个函数,
loginValidate
是在另一个名为user.py的模块中编写的函数,该模块在上述模块的开头导入。@JackMoulson我可以看看你的user.py
内容吗?@JackMoulson我看不到你的user.py
内容。不过,我已经更新了我的答案。这有帮助吗?这为loginValidate排序了问题,但现在其他方法都有完全相同的问题,因此似乎在如何导入user
方面存在问题?另外,上面的链接是user.py@JackMoulson的要点,然后从user import*中指定要导入的函数。您是否在user.py中定义了一个类?我不知道,奇怪的是,它在10分钟前才工作(所以我知道它“可以”工作),所以我一定是无意中改变了一些小东西,影响了这一切