位置: 编程技术 - 正文
推荐整理分享一个基于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模板:
执行,输出结果:
阿欧,报错了,看看输出是什么错误:
注意红线一句,是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 转载请保留说明!