位置: 编程技术 - 正文

一个基于flask的web应用诞生 用户注册功能开发(5)(flask完整项目实例)

发布时间:2024-02-27

推荐整理分享一个基于flask的web应用诞生 用户注册功能开发(5)(flask完整项目实例),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:flask完整项目实例,flask搭建,flask基础,flask例程,使用flask开发简单博客,基于flask的开源项目,基于flask框架,基于flask的开源项目,内容如对您有帮助,希望把文章链接给更多的朋友!

下面把角色分为两种,普通用户和管理员用户,至少对于普通用户来说,直接修改DB是不可取的,要有用户注册的功能,下面就开始进行用户注册的开发。

用户表

首先要想好用户注册的时候需要提供什么信息:用户名、密码、昵称、邮箱、生日、性别、自我介绍,下面就按照这些信息修改用户模型:

然后使用脚本修改db

回车后界面显示内容为:

然后进行db差异的改动

这时看db中的表结构:

已经修改成功

注册界面

然后新建register.html模板,设置登录表单:

然后在default.py文件中新增register路由,代码为:

运行界面正常,然后增加post路由:

代码有点??拢?黄?粒???疽馔寄鼙泶锴宄??δ芤部梢允迪郑??衷诘奈侍饫戳耍?尤胛倚略鲆桓鲎侄危?敲葱枰?薷娜?Υ?耄?tml,form.get,校验),并且尤其是需要修改html,而且html部分没有验证,如果增加客户端验证的话,需要修改的会更多。那么有没有一个针对表单进行优化的工具呢,答案是当然有,轮到wtf登场了。

引入WTF表单框架

和之前一样,首先需要安装插件。

然后引入所需的包

下面创建一个表单RegisterForm:

修改register.html模板:

执行,输出结果:

一个基于flask的web应用诞生 用户注册功能开发(5)(flask完整项目实例)

阿欧,报错了,看看输出是什么错误:

注意红线一句,是CSRF错误,CSRF的概念可直接百度,知道问题了,其实也很好修改,在框架中增加一个秘钥就可以有效的防范了,在default.py中增加一行:

秘钥字符串可自定义

然后再次运行,出现界面:

并且包含验证bootstrap的验证样式,接下来继续改造default.py已完成此注册功能

注意此时已删除registerPost方法

好运行测试一下

点击提交:

阿欧,日期格式为啥不对?这个要从源码里看了:

这个是wtforms的field的源码,位于/wtforms/fields/core.py的行,可以看到,这里支持的日期格式为年-月-日格式,格式限定比较死,并且文本框没有用html5的date而是普通的text,解决办法以后再说,暂时先修改输入,改为-2-5,然后点击提交:

注意,由于代码中提交成功之后依然是返回到此页,并注入内容,所以显示没有问题,看看db中:

记录正常进入db,功能实现完成。

改善登录页

下面改造登录页,首先创建登录表单:

修改登录模板页:

修改路由方法:

重启服务,运行程序,输入zhangji和后,成功登录首页

回到首页

现在首页白茫茫的一片,什么内容都没有,正常的轻博客应该登录后显示发博按钮,已关注文章等,但首先要记录登录的状态,这些将在下一章说明。

标签: flask完整项目实例

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

上一篇:一个基于flask的web应用诞生 flask和mysql相连(4)(基于flask框架)

下一篇:一个基于flask的web应用诞生 记录用户账户登录状态(6)(flask开发实例)

  • 动态市盈率与静态市盈率区别百度百科
  • 农产品的税率是9%吗
  • 什么情况下一般纳税人可以简易征收
  • 设备采购及安装属于工程还是货物
  • 软件销售利润
  • 退增值税需要多久
  • 房产税的纳税义务
  • 辞退员工补偿金账务处理
  • 增值税即征即退会计处理
  • 开专票还要另外再交钱么
  • 怎么把原材料转为成本
  • 民办非营利组织幼儿园清算时固定资产如何处理
  • 高薪员工如何降职
  • 离职补偿金excel公式
  • 餐饮发票增值税税率是多少
  • 银行承兑汇票盖已承兑登记
  • 内部收益率的计算步骤有
  • 土地转让怎么缴纳增值税
  • 公司注销货币资金有余额要交税吗
  • 所得税费用可以抵减利润吗
  • 医保退休必须交多少年辽阳
  • 一般纳税人增值税及附加税费申报表怎么填
  • 如何卸载某些系统软件
  • 商家说补发什么意思
  • window10最新20h2
  • php删除数据库数据代码
  • 苹果取消macbook
  • 说一下键盘
  • PHP:pg_unescape_bytea()的用法_PostgreSQL函数
  • 原材料按实际成本核算的会计处理
  • 股票期权行权的基本每股收益怎么算
  • ErrorCaptureStackTrace(err); Error [ERR_MODULE_NOT_FOUND]: Cannot find module
  • php做
  • 补充养老保险费扣除限额
  • linuxweb服务器搭建教程
  • thinkphp3.1
  • php静态属性和静态方法
  • 自产产品对外捐赠销项税额怎么计算
  • 股东分红的会计处理方法
  • DedeCMS V5.7 SP2前台文件上传漏洞
  • seata1.3.0配置
  • 土石方费用入什么科目
  • 税控盘使用费
  • 在建工程项目的范围包括
  • 固定业户应当向其机构
  • 收到退回货物
  • 结构性存款现金流量表流入里放在哪里
  • 公司发放加班补贴怎么做账
  • 制造费用工资计入什么科目
  • 工程施工的保险费的账务处理
  • 广告费应该计入办公费还是印刷费
  • 为什么小规模纳税人少
  • 京东提现一般多久到账
  • 企业发生坏账损失时,在当期确认坏账损失
  • 项目前期的研发费用
  • 结转库存商品需要附件吗
  • 长期挂账的往来款税务处理
  • 公司房屋租赁协议
  • 租来的办公室装修费摊销几年
  • 什么情况下投资乘数最大
  • SQL Transcation的一些总结分享
  • mysql中建表
  • macbook air一键恢复出厂设置
  • msng.exe病毒
  • win8.1 升级
  • Win10 PC版 Build 14328上手体验视频评测
  • node.js的流的作用
  • 批处理文件就是将若干文件集中起来
  • perl列表去重
  • linux系统监控脚本
  • Node.js中的事件循环是什么
  • js asc
  • 用javascript
  • 安卓开发 内存
  • base adk
  • python常用的内置逻辑判断函数
  • js简单网速测试方法
  • 个人所得税其他公司在为我发放工资
  • 火灾损失进项税额怎么处理
  • 2021年社保又涨价了
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号