一:表单

  表单用于注册,修改用户数据等场景。

  flask-wtf提供了一个包,可以创建表单:pip install flask-wtf

  为了防止跨域请求,flask_wtf自己生成一个秘钥,用秘钥生成加密口令,然后用口令验证表单中的数据真伪(是否被篡改过)

from flask import Flask
from flask import request
from flask import redirect
from flask.ext.script import Manager
from flask import render_template app = Flask(__name__)
app.config["secret_key"] = "hard to guess" # 加密的秘钥
# 通过app.config配置到项目的app的配置文件中,字典类型 @app.route("/user/<id>")
def user_name(id):
if id == "":
li = ["zhang","wang","li","zhao"]
return render_template("user.html",comments=li)
else:
return "不符合" if __name__ == "__main__":
app.run(debug=True)

注意:为了增强安全性,密钥不应该直接写入代码,而要保存在环境变量中 ,以后会进行这样设置。

例如一个简单的web表单

from flask.ext.wtf import Form # Form类的来源
from wtforms import StringField, SubmitField
from wtforms.validators import Required
class NameForm(Form): # 每个web表单类都继承Form类
   # StringField()普通的字符串输入文本框,validators=[],指定了一个验证函数组成的列表,Required()验证字段不能为空。
    name = StringField('What is your name?', validators=[Required()]) 
   # SubmitField()点击提交按钮
submit = SubmitField('Submit')

表单类的字段类型为:

最新文章

  1. yii2 ActiveRecord多表关联以及多表关联搜索的实现
  2. js中bind,call,apply方法的应用
  3. MS SQL 需要定期清理日志文件
  4. C#内存释放
  5. 微信内置浏览器的JS API
  6. SQL中case when then用法
  7. Wordpress模板制作、改造、设计
  8. 【 D3.js 高级系列 — 2.0 】 捆图
  9. 如何用正则匹配后缀名不为.jpg, .css, .js, .html, .htm, .png的文件
  10. 【动态规划】【二分】【最长上升子序列】Vijos P1028 魔族密码
  11. HDU 2063 最大匹配的基础题
  12. DirectX:在graph自己主动连线中增加自己定义filter(graph中遍历filter)
  13. Django+Bootstrap+Mysql 搭建个人博客 (六)
  14. Git学习笔记——分支
  15. python自动化开发-[第八天]-面向对象高级篇与网络编程
  16. centos修改主机名 root@后面的名字
  17. 【OpenFOAM案例】03 Docker安装OpenFOAM
  18. Gauss-Laguerre quadrature rule
  19. Python Requests库网络爬取全代码
  20. [Python_6] Python 配置 MySQL 访问

热门文章

  1. hibernate class cast exception from object to ...
  2. PCIE手札
  3. SeaJS基本开发原则
  4. nacos 使用 servlet 异步处理客户端配置长轮询
  5. Linux_ISCSI服务器
  6. mkdir: 无法创建目录&quot;kk&quot;: 只读文件系统
  7. delphi自定义事件处理
  8. ensorflow学习笔记四:mnist实例--用简单的神经网络来训练和测试
  9. Delphi7中ClientDataSet的排序
  10. Maven系列学习(三)Maven生命周期和插件