在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个空格。问题解决。


原文地址:https://www.cnblogs.com/jipinglong/p/9038456.html

时间: 2024-10-07 20:23:31

在flask框架中,对wtforms的SelectMultipleField的一个报错处理的相关文章

在linux中执行sysctl -p时的一个报错

小强性能测试和python自动化测试培训班同步招生中,咨询QQ:2083503238 报错如下 error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key error: "net.bridge.bridge-nf-call-iptables" is an unknown key error: "net.bridge.bridge-nf-call-arptables" is an u

flask框架中使用wtforms

一.什么是wtforms WTForms是一个支持多个web框架的form组件,主要用于对用户请求数据进行验证. 安装: pip3 install WTForms 二.简单使用wtforms组件 (一)用户登陆验证 py文件代码: from flask import Flask,render_template,request,redirect from wtforms.fields import core from wtforms.fields import html5 from wtforms

Flask 框架中 上下文基础理念,包括cookie,session存储方法,requset属性,current_app模块和g模块

Flask中上下文,分为请求上下文和应用上下文.既状态留存 ,就是把变量存在某一个地方可以调用 请求上下文:实际就是request和session用法理念,既都是可以存储东西. 应用上下文:既变量共享,就是把东西存储在变量里可以打印预览,应用上下文包括 current_app模块和g模块 cookie方法增,查,删. 注:存储cookie时使用set_coooki方法存储key--calve形式数据,另一个参数max_age 是指定的存活时间. 调用cookie的方法是通过request模块的c

IDEA中写MyBatis的xml配置文件编译报错的坑

IDEA中写MyBatis的xml配置文件编译报错的坑 说明:用IDEA编译工具在项目中使用Mybatis框架,编写mybatis-config.xml和Mapper.xml配置文件时,编译项目出现错误,错误提示为: xml中1字节的UTF-8序列的字节1无效 The cause of this is a file that is not UTF-8 is being parsed as UTF-8. It is likely that the parser is encountering a

解决Ext4.2.3中propertyGrid修改后点击排序报错

Ext4.2.3中PropertyGrid修改后点击排序报错,具体错误信息如下: 一开始还怀疑是自己哪里配置错了,各种尝试结果还是一样.查遍百度和谷歌,无果,只有一篇帖子说是4.2.4修正了.还是自己动手吧,自己动手丰衣足食. 点开报错地方(如下图所示),原来是me.field.column没有定义. 然后继续找,找啊找啊找到Ext.grid.property.Grid的getCellEditor方法.此方法有参数column,可在方法体内,column就没有被用到过,于是就感觉问题出在这里.

VS Code中怎么解决 TSLint: " should be ' (quotemark) 报错问题?

VS Code配置typescript问题: VS Code中, user setting中将autoFixOnSave 设置为true. ref:https://github.com/praveenpuglia/angular-sanity/issues/4 VS Code中怎么解决 TSLint: " should be ' (quotemark) 报错问题? 原文地址:https://www.cnblogs.com/watermarks/p/9520949.html

Python中安装bs4后,pycharm依然报错ModuleNotFoundError: No module named 'bs4'

学习网络抓取时,第一步出现问题. 执行示例代码 from urllib.request import urlopen from bs4 import BeautifulSoup html = urlopen("http://www.pythonscraping.com/exercises/exercise1.html") bsObj = BeautifulSoup(html, "html.parser") print(bsObj.h1) 执行结果 Traceback

php中读取中文文件夹及文件报错

php读取时出现中文乱码 一般php输出中出现中文乱码我们可用 header ('content:text/html;charset="utf-8"'); php中读取中文文件夹及文件报错? 这就要用到iconv函数了 但php.5以下的版本好像要改php.ini这个配置文件 但我用的是php高版本所以可以直接用 iconv这个函数 用法: iconv('GB2312', 'UTF-8', $file); 但想要继续打开中文文件夹(二级中文目录),还是不行还是会报错, 我认为这应该是地

解决python中selen模块中'list' object has no attribute 'send_keys'报错

程序在执行如下代码的时候报错'list' object has no attribute 'send_keys' 解决: 把find_elements_by_id方法改成find_element_by_id 参考: https://stackoverflow.com/questions/29957373/selenium-python-send-key-error-list-object-has-no-attribute 解决python中selen模块中'list' object has no