You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flask中TypeError: 'ImmutableMultiDict'对象不可调用错误的解决方法

Flask路由中TypeError: 'ImmutableMultiDict' object is not callable的解决方法

错误核心原因

这个错误100%是因为你把request.form这个ImmutableMultiDict对象当成函数调用了——比如写成request.form('username')或者request.form(),而不是正确的属性访问形式。

修复步骤

  1. 打开你的/register路由代码,定位所有使用request.form的代码行
  2. 将错误的调用方式替换为两种正确形式:
    • 若确定字段必传,直接通过键索引:username = request.form['username']
    • 若字段可选,用get()方法并可设置默认值:email = request.form.get('email', '')

代码示例对比

错误代码片段

from flask import Flask, request

app = Flask(__name__)

@app.route('/register', methods=['POST'])
def register():
    # 错误:把request.form当函数调用
    username = request.form('username')
    password = request.form('password')
    return "注册成功"

修复后代码片段

from flask import Flask, request

app = Flask(__name__)

@app.route('/register', methods=['POST'])
def register():
    # 正确:用键索引或get方法获取参数
    username = request.form['username']
    password = request.form.get('password')
    if not username or not password:
        return "用户名和密码不能为空", 400
    return "注册成功"

额外注意事项

如果你的Postman请求体是JSON格式(而非表单格式),需要改用request.get_json()来获取数据,同时确保请求头设置了Content-Type: application/json。

内容的提问来源于stack exchange,提问作者Ashutosh Yadav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 09:40:28