作者:Openset | 来源:互联网 | 2023-09-25 13:50
本篇文章给大家分享的是有关如何实现Flask中的表单和输入验证功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
1. 什么是Flask-WTF?
flask-wtf是一个表单集成插件,包括CSRF,文件上传和Recaptcha集成等。
2. 如何使用Flask-WTF?
在命令行中执行pip install flask-wtf进行安装:
![如何实现Flask中的表单和输入验证功能](https://img1.php1.cn/3cd4a/24de0/a6e/b7ce0249ee69492e.jpeg)
首先接着上一章内容,在Flask_Blog文件夹中新建一个文件forms.py:
![如何实现Flask中的表单和输入验证功能](https://img1.php1.cn/3cd4a/24de0/a6e/1b7039f307b5bb4a.jpeg)
想要使用这个表单,我们需要为修改flaskblog.py,添加一个密钥,先随机生成一个密钥:
Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [MSC v.1916 64 bit (AMD64)] on win32Type "help", "copyright", "credits" or "license" for more information.>>> import secrets>>> secrets.token_hex(16)'037a34afcf9ceba959865d80f69e2d6f'>>>
接着修改flaskblog.py:
![如何实现Flask中的表单和输入验证功能](https://img1.php1.cn/3cd4a/24de0/a6e/4f4e86ac36fd229a.jpeg)
然后我们添加表单的注册和登录方法,修改flaskblog.py:
![如何实现Flask中的表单和输入验证功能](https://img1.php1.cn/3cd4a/24de0/a6e/b3608d10214c5e92.jpeg)
在文件夹templates中新建一个register.html注册页面,内容为:
![如何实现Flask中的表单和输入验证功能](https://img1.php1.cn/3cd4a/24de0/a6e/f0dbf0634c98d14b.jpeg)
在文件夹templates中新建一个login.html登录页面,内容为:
![如何实现Flask中的表单和输入验证功能](https://img1.php1.cn/3cd4a/24de0/a6e/9d449723d94fb0cc.jpeg)
调整修改文件夹templates中layout.html,导航路径使用url_for(),添加登录和注册成功后的提示信息代码:
![如何实现Flask中的表单和输入验证功能](https://img1.php1.cn/3cd4a/24de0/a6e/6f022f7a173be88e.jpeg)
然后我们在文件夹Flask_Blog打开命令行cmd,运行python falskblog.py:
![如何实现Flask中的表单和输入验证功能](https://img1.php1.cn/3cd4a/24de0/a6e/392174158fdb1edb.jpeg)
访问地址http://127.0.0.1:5000,点击导航注册链接,输入不符合验证规则的测试数据(出现相应的提示信息,这里默认是英文提示,可以改成中文提示,需修改代码,大家可以自己试试):
![如何实现Flask中的表单和输入验证功能](https://img1.php1.cn/3cd4a/24de0/a6e/318af2167b104d58.jpeg)
输入符合验证规则的数据之后,提示创建账户:
![如何实现Flask中的表单和输入验证功能](https://img1.php1.cn/3cd4a/24de0/a6e/a01190c12dce701c.jpeg)
点击导航中登录连接,输入和代码中不一样的邮箱和密码:
![如何实现Flask中的表单和输入验证功能](https://img1.php1.cn/3cd4a/24de0/a6e/fa24d2d06e03732d.jpeg)
输入正确的用户名和密码:
![如何实现Flask中的表单和输入验证功能](https://img1.php1.cn/3cd4a/24de0/a6e/6c31ab0d50f1627d.jpeg)
以上就是如何实现Flask中的表单和输入验证功能,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程笔记行业资讯频道。