位置: 编程技术 - 正文

Flask框架的学习指南之用户登录管理(flask框架图)

编辑:rootadmin

推荐整理分享Flask框架的学习指南之用户登录管理(flask框架图),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:flask框架组件功能,flask框架菜鸟教程,flask框架要学多久,flask框架官方文档,flask框架工作原理,flask框架入门,flask框架菜鸟教程,flask框架入门,内容如对您有帮助,希望把文章链接给更多的朋友!

继续flask的学习之旅。今天介绍flask的登陆管理模块,还记得上一篇中的blog小项目么,登录是咱们自己写的验证代码,大概有以下几个步骤:

1、在登录框中输入用户名和密码

2、flask view函数获取用户密码,然后到数据库中查询该用户信息,进行匹配

3、如果成功,就写入session中,重定向到首页

4、如果对于特定视图,必须要登录才能访问,那么需要在每个视图函数验证session里是否存在该用户。

今天继续改造blog项目,介绍的flask-login模块就是替我们来搞定这些业务相关度较少的公用功能,它可以帮助我们:

在会话中存储当前活跃的用户 ID,让你能够自由地登入和登出。让你限制登入(或者登出)用户可以访问的视图。处理让人棘手的 “记住我” 功能。帮助你保护用户会话免遭 cookie 被盗的牵连。可以与以后可能使用的 Flask-Principal 或其它认证扩展集成。

一、如何使用flask-login模块?

1、安装flask-login

E:workdirdct-server-src>pip install flask-login

2、使用flask-login

2.1) 在/blog2/__init__.py添加:

2.2) 修改User模型(红色部分为新增代码)

该用户类必须实现以下几个方法:

is_authenticated

Flask框架的学习指南之用户登录管理(flask框架图)

当用户通过验证时,也即提供有效证明时返回 True(只有通过验证的用户会满足 login_required 的条件。)

is_active

如果这是一个活动用户且通过验证,账户也已激活,未被停用,也不符合任何你 的应用拒绝一个账号的条件,返回 True 。不活动的账号可能不会登入(当然, 是在没被强制的情况下)。

is_anonymous

如果是一个匿名用户,返回 True 。(真实用户应返回 False 。)

get_id()

返回一个能唯一识别用户的,并能用于从 user_loader 回调中加载用户的 unicode 。注意着 必须 是一个 unicode —— 如果 ID 原本是 一个 int 或其它类型,你需要把它转换为 unicode 。要简便地实现用户类,你可以从 UserMixin 继承,它提供了对所有这些方法的默认实现。我们这里使用UserMixin实现。

2.3) 修改view函数(红色部分为新增)

通过flask-login管理登陆,代码非常简洁简单:

@login_required:该装饰器放到需要登陆才能访问的视图上,如果没有登陆访问有限制的视图就会跳到login页面,由__init__.py中login_manager.login_view = "login"控制login_user(user):传入一个user对象进行登陆验证,正确返回true,否则返回falselogout_user():登出函数,清空session中用户信息

2.4) 模板中引用用户

将之前layout.html和show_entries.html模板中判断用户是否登陆方式改为flask-login中的方式:

{% if not current_user.is_authenticated() %}

current_user值:在用户没有登陆时,值为<flask_login.AnonymousUserMixin object at 0xDCF>,也就是匿名用户 用户登陆后,值为<User u'admin'>

当然,用户登陆还可以根据实际情况自己定制,具体不在一一详述。

【参考文档】

Flask-Login中文版: Flask-Login英文版:

python制作websocket服务器实例分享 一、开始的话使用python简单的实现websocket服务器,可以在浏览器上实时显示远程服务器的日志信息。之前做了一个web版的发布系统,但没实现在线看日

详解MySQL数据类型int(M)中M的含义 介绍MySQL数据类型中的integertypes有点奇怪。你可能会见到诸如:int(3)、int(4)、int(8)之类的int数据类型。刚接触MySQL的时候,我还以为int(3)占用的存储空间

python中异常报错处理方法汇总 首先异常是什么,异常白话解释就是不正常,程序里面一般是指程序员输入的格式不规范,或者需求的参数类型不对应,不全等等。Python中异常是指程

标签: flask框架图

本文链接地址:https://www.jiuchutong.com/biancheng/383491.html 转载请保留说明!

上一篇:Flask框架的学习指南之制作简单blog系统(flask框架官方文档)

下一篇:python制作websocket服务器实例分享(Python制作钟表代码)

  • 递延所得税资产和所得税费用的关系
  • 企业所得税留抵税额会显示在申报表上吗?
  • 何为金税四期
  • 补交土地使用税到大厅怎么申报
  • 文化传媒公司开票税点
  • 外经证核销反馈表
  • 有会计从业资格证还有用吗
  • 个体户银行开户是开公户还是私户
  • 预存1000送100促销活动方案
  • 回购股票增加权益吗
  • 利率与股价的计算方法
  • 贸易公司发票怎么平衡
  • 打折销售商品会计分录
  • 销售产生的磅差入什么科目?
  • 本年已预缴所得税
  • 付款账号姓名是什么意思
  • 购金蝶软件记什么科目
  • 发票少开退回多付的货款怎么入账?
  • 汇算清缴涉及长期投资收益如何做会计核算?
  • 收到投资者投入设备一台,价值100000元
  • 往来款现金流量表怎么填
  • 预付账款收不回来摘要怎么写
  • 计提的工资大于实际发放的
  • windows无法配置用户文件
  • 员工奖励股权
  • php入门例子
  • PHP:pcntl_setpriority()的用法_PCNTL函数
  • 摊余成本计量的金融资产若溢价购买小于
  • php 调试工具
  • PHP:imagecreatefromxpm()的用法_GD库图像处理函数
  • 手工帐应交税费明细账
  • 安装运行所需环境怎么填
  • ci框架如何做api
  • 区块链技术开发入门
  • 大前端最新
  • 残保金工资总额包括什么
  • 公司开一般户经办人是会计还是出纳好
  • 日常收集整理常用工具
  • 六税一费和六税两费的区别
  • 购辅助材料会计分录
  • 当月利息发票未开可以先入账吗
  • 企业应付账款科目的借方余额反映的是
  • 不抵扣的进项税为什么要交税
  • mysql数据表存储引擎
  • 个人工资薪金如何零申报
  • 公司收到待报解预算收入在哪里查具体情况
  • 先开票未发货要确认收入吗
  • 企业银行流水可以不给税务吗
  • 电商平台收入何时到账
  • 企业政策性搬迁所得税管理办法解读
  • 餐饮行业采购
  • 如何在科目余额表中查询给另一家公司付了多少钱
  • 记账凭证分类
  • 冲销主营业务收入怎么做分录
  • 开外管证再省外能办理吗
  • 销售返利怎么做税务处理
  • 滞纳金的收取依据
  • 房地产开发企业增值税税率
  • 固定资产处置当月还要折旧吗
  • sql中查询语句
  • 如何关闭系统快捷键
  • 微软 win7
  • 启用与禁用的英文
  • 苹果系统声音怎么设置方法
  • centos7 tcp6
  • 任务栏图标右键
  • win7运行老游戏方法
  • win8系统谷歌浏览器打不开
  • win7不识别大于4T的盘
  • win10时间不见了怎么办
  • win7电脑磁盘突然不见了怎么办
  • win8使用技巧 图文
  • linux查看进程并杀死
  • 酵母菌代谢类型为
  • FreeGLUT Tips: Resolve compile issue: error LNK1104: cannot open file 'freeglutd.lib'
  • 安卓模拟器错误怎么办
  • javascript数据结构与算法第三版
  • python enumeration
  • ca证书密码是什么
  • 2023浙江高考首考状元
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设