Flask-WTF的使用

Flask-WTF的使用,第1张

概述Flask-WTF的使用 一、安装Flask-WTF Flask-WTF 对 WTForms 进行了封装使它能够在 Flask 框架中可以被调用,其中 Flask-WTF 的功能都是继承自 WTForms ,因此安装 Flask-WTF 时会自动安装 WTForms 模块。 使用 pip 进程安装 pip install flask-wtf 查看安装结果 二、创建表单类 表单类可以继承自Flask Flask-WTF的使用 一、安装Flask-WTF

Flask-WTF 对 WTForms 进行了封装使它能够在 Flask 框架中可以被调用,其中 Flask-WTF 的功能都是继承自 WTForms ,因此安装 Flask-WTF 时会自动安装 WTForms 模块。

使用 pip 进程安装
pip install flask-wtf
查看安装结果

二、创建表单类

表单类可以继承自Flask-WTF封装的FlaskForm类,可以从wtforms导入表单字段的类型,如下表单类的创建:

# -*- Coding: utf-8 -*-from flask_wtf import FlaskFormfrom wtforms import StringFIEld,RadioFIEld,DateFIEld,DecimalFIEld,SelectFIEldclass EmployeeForm(FlaskForm):    name = StringFIEld('姓名')    gender = RadioFIEld('性别',default='男')    job = StringFIEld('职位')    birthdate = DateFIEld('出生日期')    IDCard = StringFIEld('身份z号')    address = StringFIEld('地址')    salary = DecimalFIEld('工资')    department = SelectFIEld('部门')
三、创建视图方法

根据创建好的表单类,我们就可以创建我们的视图函数,来处理和呈现我们的代码逻辑:

# -*- Coding: utf-8 -*-from flask import render_templatefrom flask.vIEws import MethodVIEwfrom pms.forms import EmployeeFormclass EmployeeEditOrCreateVIEw(MethodVIEw):    def get(self,ID=None):        form = EmployeeForm()        return render_template('admin/emp-create-or-edit.HTML',form=form)    def post(self,ID=None):        pass# 添加视图函数规则,并添加视图函数的endpointemployee.add_url_rule('/create_or_edit/<ID>',vIEw_func=EmployeeEditOrCreateVIEw.as_vIEw('emp_create_or_edit'))
四、前台页面展示

在前台页面我们就可以使用我们传递的表单类进行form表单控件的替换了:

<form  role="form" method="post" action="{{ url_for('admin.emp_add') }}">  {# 姓名 #}  <div >    {# <label for="name" >姓名</label>#}    {# 使用flask-wtf表单控件之后,label标签也可以省略#}    {{ form.name.label() }}    <div >      {# <input type="text"  ID="name" name="name">#}      {# 如果你希望某些控件的属性也添加进来,可以直接在name中加入,方式如下:#}      {{ form.name() }}    </div>  </div></form>

展示效果:

五、补充

Flask-WTF 默认为每个表单启用了 CSRF 保护,它会为我们自动生成 CSRF 令牌。在Flask-WTF 中默认情况会使用程序密钥对 CSRF 令牌进行签名,所以我们需要为程序设置密钥:

app.secret_key = 'HEnjsa3IJ7HfF9KG'
总结

以上是内存溢出为你收集整理的Flask-WTF的使用全部内容,希望文章能够帮你解决Flask-WTF的使用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1195632.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存