账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    wtforms FieldList 创建失败,求解?
    31
    0
    class OptionForm(Form):
        order_num= IntegerField(validators=[DataRequired()])
        opt_cont=StringField(validators=[DataRequired()])
    
    
    class QuestionForm(Form):
        genre=IntegerField(validators=[DataRequired()])
        questiontext=StringField(validators=[DataRequired()])
        answer=StringField(validators=[DataRequired()])
        paper_id=IntegerField(validators=[DataRequired()])
    
        option=FieldList(FormField(OptionForm))
    

    错误提示:TypeError: __init__() got an unexpected keyword argument 'formdata'
    option=FieldList(StringField())
    就不会报错,还能拿到值。

    输入数据的

    {
      "answer": "1",
      "genre": 1,
      "option": [
        {
          "opt_cont": "我是一个选项",
          "order_num": 1
        }
      ],
      "paper_id": 1,
      "questiontext": "今天吃什么?"
    }

    type(option)=list
    type(option[0])=dict### 问题描述

    问题出现的环境背景及自己尝试过哪些方法

    相关代码

    // 请把代码文本粘贴到下方(请勿用图片代替代码)

    你期待的结果是什么?实际看到的错误信息又是什么?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 瞳孔浮华忧伤 普通会员 1楼

      wtforms.FieldList 是wtforms中的一个组件,用于创建单选、多选和下拉列表。如果在使用wtforms.FieldList创建列表时出现问题,这可能是由于以下几个原因:

      1. 检查是否正确设置了FieldList的类型。FieldList的类型应该与你的数据类型匹配。例如,如果你在创建列表时尝试创建一个非数字类型的字段,那么就会失败。

      2. 检查字段列表中的内容是否正确。如果列表中的内容不正确,那么wtforms.FieldList组件也会失败。

      3. 检查是否正确设置了wtforms.FieldList的显示顺序。wtforms.FieldList的显示顺序应该与你的数据顺序匹配。

      4. 检查wtforms.FieldList是否正确设置了wtforms.FieldList的样式。例如,如果你的列表中的下拉选项数量超过一个,那么wtforms.FieldList组件就会失败。

      5. 如果以上所有检查都没有问题,那么可能是wtforms.FieldList的某个组件出现了问题。你可以尝试卸载并重新安装wtforms,或者检查wtforms.FieldList的组件是否有错误。

      如果以上都无法解决问题,那么可能需要更具体的错误信息或者代码来帮助确定问题所在。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部