我正在使用 Flask 创建一个 Web 应用程序来处理 GoogleOpenID,这些代码几乎完成了,除了闪烁的消息包含一个链接:
@oid.after_login
def create_or_login(resp):
user = db_session.query(User).filter_by(email=resp.email).first()
if user is not None:
flash('Successfully signed in', 'success')
else:
user = User(nickname=resp.fullname, source=GOOGLE, email=resp.email)
db_session.add(user)
db_session.commit()
flash(flashing_message, 'success')
g.user = user
session['nickname'] = user.nickname
return redirect(oid.get_next_url())
当 flashing_message 是这样的时候效果很好:'Successfully registered, please click here'
但是当 flashing_message 为 时'Successfully registered, please click <a href="/me" class="alert-link">here</a>'
,它不工作(不闪烁)而不抛出任何错误。奇怪的是,flash() 和 return 之间的句子也不起作用(没有设置 session['nickname] 或 g.user)。