zoukankan      html  css  js  c++  java
  • 在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个空格。
    问题解决。


  • 相关阅读:
    OpenCV之设计模式
    ca
    BMP结构详解
    Lucas–Kanade光流算法学习
    卡尔曼
    hash+链表
    文件操作
    查找
    fseek效率
    大家都说3C直连网络,3C网络是指什么呢?
  • 原文地址:https://www.cnblogs.com/jipinglong/p/9038456.html
Copyright © 2011-2022 走看看