python - 说我缺少 1 个位置参数(一个斑点对象)烧瓶
问题描述
使用烧瓶制作网站。在我使用 POST 获得用户输入后,我需要将检索到的信息发送到另一个函数。
得到错误说:
TypeError: search() missing 1 required positional argument: 'spotifyObj'
这是我认为导致它的代码:
@app.route("/", methods=["POST", "GET"])
def home(client_id=client_id, client_secret=client_secret, redirect_uri=redirect_uri, scope=scope):
if request.method == "POST":
user = request.form["username"]
token = util.prompt_for_user_token(user, scope, client_id, client_secret, redirect_uri)
obj = createObj(token)
searchType = request.form["searchType"]
return redirect(url_for("search", searchT=searchType, spotifyObj=obj))
else:
return render_template("home.html")
@app.route("/<searchT>", methods=["POST", "GET"])
def search(searchT,spotifyObj):
我不明白问题是什么。这也是我第一次开发一个网站,如果有一堆重大的新手错误,我很抱歉。
解决方案
问题如下。您有一个名为search
.
该方法期望获得 2 个参数:
- 搜索T
- 发现对象
@app.route("/<searchT>", methods=["POST", "GET"]) def search(searchT,spotifyObj)
Flask 装饰器app.route
只向该方法传递一个参数。
你有两个选择:
- 更改方法签名并使其接受 1 个参数
- 更改
/<searchT>
装饰器内部并确保它将传递 2 个参数
推荐阅读
- python - 使用 PyZMQ 流式传输标准输出
- javascript - 具有多个对等点的 RTCPeerConnection API
- javascript - ScrollReveal.js - 滚动时初始化/重置 div?
- javascript - javascript中的http请求处理
- excel - 通过 Matlab GUI 在 Excel 中提取特定变量
- git - 在合并到 master 时,我从本地分支中丢失了一个完整的目录。如何找回那些丢失的文件?
- reference - 可变引用生命周期与不可变引用生命周期
- c# - 调用一个在后台运行的方法,仍然让用户在表单中工作
- php - Wordpress 产品数据刮板/API
- bash - Bash fastCGI 在没有给出参数时显示很多信息