表单添加多个提交按钮
在某些情况下,可能需要为一个表单添加多个提交按钮。比如在创建文章的表单中添加发布按钮和存草稿的按钮。当用户提交表单时,需要在视图函数中根据按下的按钮来做出不同的处理。
下面例子中创建了一个表单,save按钮用于保存,publish表示发布,正文字段使用TextAreaField字段。
forms.py:
class NewPostForm(FlaskForm): title = StringField('Title', validators=[DataRequired(), Length(1,50)]) body = TextAreaField('Body', validators=[DataRequired()]) save = SubmitField('Save') # 保存按钮 publish = SubmitField('Publish') # 发布按钮
当表单数据通过POST请求提交时,Flask会把表单数据解析到request.form字典。如果表单中有两个提交字段,那么只有被单击的提交字段才会出现在这个字典中。当我们对表单类实例或特定的字段属性调用data属性时,WTForms会对数据做进一步处理。对于提交字段的值,它会将其转换为布尔值:被单击的提交字段的值将是True,违背单击的值则是False。
基于这个机制,我们可以通过提交按钮字段的值来判断当前被单击的按钮。
例子:app.py:判断被单击的提交按钮
from forms import NewPostForm @app.route('/two-submits', methods=['GET', 'POST']) def two_submits(): form = NewPostForm() if form.validate_on_submit(): if form.save.data: # 保存按钮被单击 #进行保存 flash('You click the "Save" button.') elif form.publish.data: # 发布按钮被单击 # 提交 flash('You click the "Publish" button.') return redirect(url_for('index')) return render_template('2submit.html', form = form)
访问127.0.0.1:5000/two-submits,当点击某个按钮时,重定向后的页面的提示信息中会包含你单击的按钮名称。
育乐教育网还为您提供以下相关内容希望对您有帮助:
Flask渲染模版
要安装Flask-Bootstrap,请在app.py中初始化Bootstrap。使用Flask-Bootstrap的模板时,可以使用extends指令从Flask-Bootstrap中导入bootstrap/base.html,实现模板继承。这个模板提供了一个网页框架,我们在其中定义了Flasky和Home两个按钮。现在,运行你的程序并打开终端中出现的链接,你会看到Hello World!此...
python flask怎么去用一个按钮启动另外一个python程序
使用web服务器网关接口协议。Flask框架是一个以轻量级著称的Web开发框架,近两年来在Web领域获得了极高的人气,这里我们就来看如何使用Python的Flask框架来搭建第一个Web应用程序。Python是一种跨平台的计算机程序设计语言是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言最初被设计用于编写自...
Python的Flask框架中web表单
我们引入了一个 Form 类,然后继承这个类,按需求还添加了 TextField 和 BooleanField 这两个字段。另外还引入了一个表单验证函数 Required,这种验证函数可以附加在字段里面,在用户提交表单时它们会用来检查用户填写的数据。这个 Required 函数是用来防止用户提交空数据。Flask-WTF 中还有很多不同作用的表单验证函数,我们...
python是如何写界面程序的?
先学习html2.0,不是4.01,也不是5.0,因为2.0更基本。然后用frame和table做出你的界面,先实现左边的部分 然后学习css,把你左边的两个按钮搞定。用TABLE也可以,比如笨。然后用CSS将frame方式换成iframe实现 用传统的html方式实现右边的上传下载 学习jquery,用其中uploadfile功能重新实现右边的上传功...
flask返回html文件为什么一直出现hello world
左下Run区域看到你开启了两个运行实例,所以冲突了,实际上是旧的代码在运作。点击终止按钮或X号关闭运行的实例,再重新启动。新版本的Pycharm为了避免这种情况,启动第二个监听实例时会有提示是否终止掉前一个。Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板...
Flask中的wtform使用
EqualTo 比较两个字段的值;常用于要求输入两次密码进行确认的情况 IPAddress 验证 IPv4 网络地址 Length
python通过点击按钮跳转到html页面
1、设计HTML页面。设计一个简单的HTML页面,文件名为page.html。2、创建Flask应用。使用Flask框架来渲染HTML页面。3、设计首页并添加跳转按钮。设计一个简单的首页index.html,并添加一个跳转到page.html的按钮。4、运行Flask应用。最后运行Flask应用。5、访问首页并点击按钮。看到首页,点击“跳转页面”按钮...
Flask 实现异步服务
创建一个Flask对象 app = Flask(__name__)def browserini():global driver 启动浏览器 ip, exttime = getdailione(3) #调用芝麻IP 3-6小时 ip ='47.96.225.239:4111' while ip ==0:ip, exttime = getdailione(3) ...
第二章:用element、flask、vue开发一个数据加密网站
我们看这些网站都是由两个输入框,中间加上选项组成的,比如下面这种:我们可以用element中的组件绘制出这样的页面:绘制输入字符串的文本框:同理,我们可以绘制出加密后的文本框:form表单:下拉框,选择加密的方式:单选框:按钮:后端我们用flask写一个接口, 这个接口就是用来将前端输入的字符串发送给...
跪求死亡鬼屋4的完整攻略
回镜子那里,到左边把石像推到镜子跟前(到石像左边按调查键),看到石像背后的字母“HM”。这时调查石像会要求你输入密码,按照HM输入,按空格键确定,会有一个画像的特写。从楼梯上二楼再次和ALINE通话,然后看到刚才的画像了,它在二楼四个画像的最右边。调查画像得到一把生绣的小钥匙(Small Rusty Key),以后我们还要...