View - 用户认证视图

app.auth.views.before_request()[源代码]

注解

处理程序中过滤未确认的账户

同时满足以下 3 个条件时, before_app_request 处理程序会拦截请求。

1.用户已登录( current_user.is_authenticated() 必须返回 True )。

2.用户的账户还未确认。

3.请求的端点(使用 request.endpoint 获取)不在认证蓝本中。 访问认证路由要获取权限,因为这些路由的作用是让用户确认账户或执行其他账户管理操作。

app.auth.views.change_email(token)[源代码]

修改邮箱

app.auth.views.change_email_request()[源代码]

修改邮箱请求

app.auth.views.change_password()[源代码]

修改密码

app.auth.views.confirm(token)[源代码]

注解

确认用户的账户

先检查已登录的用户是否已经确认过,如果确认过,则重定向到首页, 因为很显然此时不用做什么操作。

这样处理可以避免用户不小心多次点击确认令牌带来的额外工作。

由于令牌确认完全在 User 模型中完成,所以视图函数只需调用 confirm() 方法即可, 然后再根据确认结果显示不同的 Flash 消息。

确认成功后, User 模型中 confirmed 属性的值会被修改并添加到会话中, 请求处理完后,这两个操作被提交到数据库。

app.auth.views.login()[源代码]

注解

登录

用户访问未授权的 URL 时会显示登录表单, Flask-Login会把原地址保存在查询字符串的 next 参数中。

这个参数可从 request.args 字典中读取, 如果查询字符串中没有 next 参数,则重定向到首页。

app.auth.views.logout()[源代码]

退出账号

app.auth.views.password_reset(token)[源代码]

重置密码

app.auth.views.password_reset_request()[源代码]

重置密码请求

app.auth.views.register()[源代码]

注解

注册

提交注册表单,通过验证后,系统就使用用户填写的信息在数据库中添加一个新用户。

app.auth.views.resend_confirmation()[源代码]

重新发送账户确认邮件

app.auth.views.unconfirmed()[源代码]

用户未完成验证