3
我試圖通過遵循Flask Mega Tutorial來學習Peewee ORM和Flask的組合。在part 5 of the tutorial我使用OpenID創建一個登錄。在克服了一堆障礙之後,我現在在粘貼在下面的行上的函數中出現AttributeError:login_user(user, remember = remember_me)
。AttributeError:'SelectQuery'對象沒有屬性'is_active'
@oid.after_login
def after_login(resp):
if resp.email is None or resp.email == "":
flash('Invalid login. Please try again.')
return redirect(url_for('login'))
user = User.select().where(User.email == resp.email)
if user.wrapped_count() == 0:
nickname = resp.nickname
if nickname is None or nickname == "":
nickname = resp.email.split('@')[0]
user = User(nickname = nickname, email = resp.email, role = models.ROLE_USER)
user.save()
remember_me = False
if 'remember_me' in session:
remember_me = session['remember_me']
session.pop('remember_me', None)
login_user(user, remember = remember_me)
return redirect(request.args.get('next') or url_for('index'))
is_active
在我的用戶模型中找到如下:
class User(db.Model):
nickname = TextField()
email = TextField()
role = IntegerField(default = ROLE_USER)
def is_authenticated(self):
return True
def is_active(self):
return True
def is_anonymous(self):
return False
def get_id(self):
return self.id
def __repr__(self):
return '<User %r>' % (self.nickname)
我不知道我在做什麼錯在這裏雖然。有誰能幫我解決我在這裏做錯的事嗎?
歡迎所有提示!
真棒!太感謝了! – kramer65
我是新來的peewee,但我認爲現在相當於'first()'是'get()' – jwong