有这样一个需求,用表单填写文件的大小,这个大小不仅有数字而且有单位,比如:12B/KB/MB。那么考虑设计前段页面展示一个填写数字的input,同时再来一个复选单位的框。
利用bootstrap的样式表单,代码如下:
<div class="input-group"> {{ form.size(class="form-control", placeholder="整数或小数") }} <div class="input-group-btn bs-dropdown-to-select-group"> <button type="button" class="btn btn-default dropdown-toggle as-is bs-dropdown-to-select" data-toggle="dropdown"> <span data-bind="bs-drp-sel-label">KB</span> {{ form.unit(value="KB", **{'data-bind':'bs-drp-sel-value'}) }} <span class="caret"/> </button> <ul class="dropdown-menu" role="menu" style=""> <li data-value="B"><a href="#">B</a></li> <li data-value="KB"><a href="#">KB</a></li> <li data-value="MB"><a href="#">MB</a></li> </ul> </div> </div>
需要使用js控制一下这个dropdown-menu的内容给到unit中:
$(document).ready(function(e){ $( document ).on( 'click', '.bs-dropdown-to-select-group .dropdown-menu li', function( event ) { var $target = $( event.currentTarget ); $target.closest('.bs-dropdown-to-select-group') .find('[data-bind="bs-drp-sel-value"]').val($target.attr('data-value')) .end() .children('.dropdown-toggle').dropdown('toggle'); $target.closest('.bs-dropdown-to-select-group') .find('[data-bind="bs-drp-sel-label"]').text($target.context.textContent); return false; }); });
同时需要在form.py文件中,添加这两个组件:
size = FloatField(u'大小', filters=[lambda x: x or None]) unit = HiddenField(u'单位', filters=[lambda x: x or None])
但是当我们运行的时候发现这个form.unit.data的内容取不到,是一个u'',空的字符串。
而把HiddenField换成StringField后就有值。在StringFiled中添加widget=HiddenInput()也不好使。
该怎么办呢?
搜遍了网络,有的说这是flask的一个bug,有的说和csrfform有关。但是用他们的思路,统统在我这里不好使。就在我快放弃的时候,突然想到:我为啥就一定要用hidden来隐藏一个组件呢?display:none行不行?
试了一下,竟然行。。。好吧,问题解决了。至于之前那个为什么我也没研究出来,谁了解可以给我留言。
解决后的代码如下(只罗列了一下和上面有差别的地方)
{{ form.unit(value="KB", style="display:none;",**{'data-bind':'bs-drp-sel-value'}) }}
size = FloatField(u'大小', filters=[lambda x: x or None]) unit = StringField(u'单位', filters=[lambda x: x or None])
相关推荐
chatgpt~bingAI帮我解决flask错误chatgpt~bingAI帮我解决flask错误chatgpt~bingAI帮我解决flask错误chatgpt~bingAI帮我解决flask错误chatgpt~bingAI帮我解决flask错误chatgpt~bingAI帮我解决flask错误chatgpt~bingAI...
: 入门在本地设置:安装使用make deploy启动并运行: $ git clone https://github.com/hackersandslackers/flask-wtform-tutorial.git$ cd flask-wtform-tutorial$ make deploy环境变量用您的值替换.env.example中的...
wtform能够通过一个类定义一些字段,这些字段会在前端生成标签,并且通过设置字段的验证规则,自动判断前端输入数据的格式。 一般用于用户登录,用户注册等信息录入。 示例: from wtforms import Form from flask ...
Flask PDF中文文档
一、问题: 今天在部署Python Flask项目到线上的时候,在虚拟环境中,运行项目可以正常访问到api,但是在Xshell中,一旦Ctrl+C或者关闭ssh,他就停止了,api再也请求不到了 二、nohup 1、nohup 是 no hang up 的缩写...
安装配置flask之前须先安装flask的必要组件之一werkzeug-maser
Flask v2.0 中文文档
python开发web项目,使用flask_sqlachemy连接db2,写入数据库出现中文乱码
Flask精美完整博客源码,含管理后台及个人中心,简单权限管理! 在终端运行如下几个命令创建虚拟环境并安装依赖,步骤是: 创建虚拟环境:python3 -m venv venv 激活虚拟环境:source venv/bin/activate 安转...
用flask时遇到了返回字符串支持中文显示的问题,在web端显示的是utf-8的编码,而不是中文,如下图。 虽然不影响接口的读取,但是可读性太差,于是研究了一下怎么直接显示成中文。最后找到了解决方案如下,在配置中...
个人翻译的Flask的一个上传组件——flask-uploads的文档。官方文档参见:http://pythonhosted.org/Flask-Uploads/
主要介绍了Python的Flask框架中实现分页功能的教程,文中的示例基于一个博客来实现,需要的朋友可以参考下
Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask...
python前端框架的flask的官方文档资料,是开发flask前端程序的必备文件。
主要介绍了flask 使用 flask_apscheduler 做定时循环任务的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
基于Flask的课堂扫脸考勤签到系统基于Flask的课堂扫脸考勤签到系统基于Flask的课堂扫脸考勤签到系统基于Flask的课堂扫脸考勤签到系统基于Flask的课堂扫脸考勤签到系统基于Flask的课堂扫脸考勤签到系统基于Flask的...
Flask中文手册,全文搜索,无限清晰。
在Flask开发RESTful后端时,前端请求会遇到跨域的问题。下面是解决方法: 使用 flask-cors库可以很容易的解决 pip install flask-cors 两种方法,一个是全局/批量的,一个是单一独立的: 安全起见,一般来说使用...