在flask框架中,对wtforms的SelectMultipleField的一个报错处理
先粘贴代码:
form.py文件:
users = SelectMultipleField(
label="请选择用户",
validators=[
DataRequired("请输入用户列表!")
],
coerce=int,
choices=[],
description="权限列表",
render_kw={
"class": "form-control"
}
)
views.py文件:
部分代码:
user_list = UserAdmin.query.join(User).filter(
UserAdmin.admin_id == session["admin_id"],
UserAdmin.user_id == User.id
).all()
if request.method=="GET":
form.users.coerce=int
form.users.choices=[(v.user_id, v.user.name) for v in user_list]
if form.validate_on_submit():
data=form.data
因为两表级联查询要用到session["admin_id"]的值,无法在form.py中给choices赋值,所以只能将赋值放到view.py中进行。

初始值确实赋值成功了,但是,选中提交时,报错:

注意,其中的7是选中的那个选项的v.user_id.
解决办法:
去掉view.py中的
if request.method=="GET":
并将下面两行向前缩进4个空格。
问题解决。
在flask框架中,对wtforms的SelectMultipleField的一个报错处理的更多相关文章
- flask框架中使用wtforms
一.什么是wtforms WTForms是一个支持多个web框架的form组件,主要用于对用户请求数据进行验证. 安装: pip3 install WTForms 二.简单使用wtforms组件 (一 ...
- Flask 框架中 上下文基础理念,包括cookie,session存储方法,requset属性,current_app模块和g模块
Flask中上下文,分为请求上下文和应用上下文.既状态留存 ,就是把变量存在某一个地方可以调用 请求上下文:实际就是request和session用法理念,既都是可以存储东西. 应用上下文:既变量共享 ...
- IDEA中写MyBatis的xml配置文件编译报错的坑
IDEA中写MyBatis的xml配置文件编译报错的坑 说明:用IDEA编译工具在项目中使用Mybatis框架,编写mybatis-config.xml和Mapper.xml配置文件时,编译项目出现错 ...
- laravel框架手动删除迁移文件后再次创建报错
手动删除laravel框架数据表迁移文件后再次创建报错 如下图: 执行创建操作之后会在autoload_static.php及autoload_classmap.php这两个文件中添加迁移文件的目录. ...
- php中读取中文文件夹及文件报错
php读取时出现中文乱码 一般php输出中出现中文乱码我们可用 header ('content:text/html;charset="utf-8"'); php中读取中文文件夹及 ...
- javascript的倒计时功能中newData().getTime()在iOS下会报错问题解决
javascript的倒计时功能中newData().getTime()在iOS下会报错问题解决 在做移动端时间转化为时间戳时,遇到了一个问题,安卓手机上访问时,能拿到时间戳,从而正确转换时间,而在i ...
- vue 中使用 watch 出现了如下的报错
vue 中使用 watch 出现了如下的报错 报错: Method "watch" has type "object" in the component def ...
- 使用 Mybatis 框架 jdbc 方式批量写入 SQL Server,报错 com.microsoft.sqlserver.jdbc.SQLServerException 传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。此 RPC 请求中提供了过多的参数,最多应为2100
这个错是sqlserver抛出来的. 进过验证,上述错误中的2100为插入的总字段数. 比如下面这种插入方式,values后面的一个括号里的字段为30个,那么后面最多只能加70条,即这种批量插入方式一 ...
- ThinkPHP 中入口文件中的APP_DEBUG为TRUE时不报错,改为FALSE时报错
今天好不容易将一个新闻网做好了(ThinkPHP框架做的),但是,当我将入口文件中定义调试模式设为FALSE,即define('APP_DEBUG',False),然后再刷新网站的时候,就提示报错,报 ...
随机推荐
- Gson如何解析key值是数字的json数据
1.使用注解@SerializedName来解决这个问题 2.比如有如下json数据:(key值是数字"1112") { "1112": "抖音&qu ...
- C#反射详解
http://blog.csdn.net/educast/article/details/2894892(转) 两个现实中的例子:1.B超:大家体检的时候大概都做过B超吧,B超可以透过肚皮探测到你内脏 ...
- 安卓MVP框架
一.理解MVP 原文地址 我的Demo 效果图: 项目结构: 实现 一.Model层 首先定义一个实体类User package app.qcu.pmit.cn.mvpdemo.model; /** ...
- http content-type 与 java后端处理
http中的常用的content-type有: application/x-www-form-urlencoded;charset=UTF-8 传递表单类数据 application/json;ch ...
- 『OpenCV3』基于色彩分割图片
一.遍历图像实现色彩掩码 本节我们实现这样一个算法,我们指定某种颜色和一个阈值,根据输入图片生成一张掩码,标记符合的像素(和指定颜色的差异在阈值容忍内). 源代码如下,我们使用一个class完成这个目 ...
- python自动化测试入门篇-jemter参数化
一.Jmeter参数化 1.使用用户自定义变量 用户定义的变量,引用方式:${定义参数名称};例如定义一个变量IP,使用它的时候用 ${IP}. 添加一个 User Defined Variables ...
- 【转载】koa相关知识(来自官网)
什么是Koa? koa 是由 Express 原班人马打造的,致力于成为一个更小.更富有表现力.更健壮的 Web 框架.使用 koa 编写 web 应用,通过组合不同的 generator,可以免除重 ...
- python dpkt SSL 流tcp payload(从三次握手开始到application data)和证书提取
# coding: utf-8 #!/usr/bin/env python from __future__ import absolute_import from __future__ import ...
- Java入门自学笔记
一.变量 变量需要一个名字,变量的名字是一种“标识符”,意思是它是用来识别这个和那个的不同的名字. 标识符的构造规则:只能有字母.数字和下划线组成,数字不能在首位,java的关键字(保留字)不可以用做 ...
- Makefile 系统论述
该篇文章为转载,是对原作者系列文章的总汇加上标注. 支持原创,请移步陈浩大神博客: http://blog.csdn.net/haoel/article/details/2886 概述 什么是make ...