Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Flask登录显示unicode类型不可调用_Python_Flask_Flask Sqlalchemy_Flask Login - Fatal编程技术网

Python Flask登录显示unicode类型不可调用

Python Flask登录显示unicode类型不可调用,python,flask,flask-sqlalchemy,flask-login,Python,Flask,Flask Sqlalchemy,Flask Login,我尝试使用Flask登录来处理我的登录和会话 在注册过程中,一旦所有的细节得到验证,我就可以使用登录用户(user)并重定向到主页 我在登录过程中遇到问题。 尝试登录时,登录用户(用户)中出现错误 在flask登录文档中,它说get_id()必须返回unicode,我已经这样做了。例如: def get_id(self): return text_type(self.id) 我已经导入了文本类型(从六个导入文本类型)。之前我只写了return self.id。它说: long obje

我尝试使用Flask登录来处理我的登录和会话

在注册过程中,一旦所有的细节得到验证,我就可以使用登录用户(user)并重定向到主页

我在登录过程中遇到问题。 尝试登录时,登录用户(用户)中出现错误

在flask登录文档中,它说get_id()必须返回unicode,我已经这样做了。例如:

def get_id(self):
    return text_type(self.id)
我已经导入了文本类型(从六个导入文本类型)。之前我只写了return self.id。它说:

long object not callable
如何解决这个问题

以下是我的登录方式:

@app.route('/login', methods=['GET','POST'])
def login():
if request.method == 'POST':
    email = request.form['email']
    password = request.form['password']
    if email and password:
        error = "Invalid email/password!"
        user = session.query(User).filter_by(email=email).first()
        if user:
            hPass = hash_str(password)
            if user.password == hPass:
                login_user(user, remember=True)
                return redirect('/')
            else:
                return render_template('login.html', alert=render_template('alert.html', errormsg=error))
        else:
            return render_template('login.html', alert=render_template('alert.html', errormsg=error))

else:
    return render_template('login.html')
它在第行登录\u用户(用户) 谢谢。

解决了

因此,基本上错误是由于在我的load\u用户中使用关键字“id”

将其更改为:

def load_user(userid):
    user_id = int(userid)
    return User.query.get(user_id)
在我的用户类上:

def get_id(self):
    return unicode(self.id)
def get_id(self):
    return unicode(self.id)