python - 带有参数的烧瓶重定向(url_for)
问题描述
我是使用 Flask 构建 Web 应用程序的新手,并且在使用时遇到问题redirect(url_for)
from flask import Flask, render_template, request, redirect, url_for
app = Flask(__name__)
def getSomeList(paramsFromHTML):
return someList
@app.route("/", methods=["GET", "POST"])
def index():
if request.method == "POST":
myData = getSomeList(paramsFromHTML)
return redirect(url_for("show_data", this_data=myData))
else:
# Show the default page for GET requests
return render_template("welcome.html")
@app.route("/show_data", methods=["GET", "POST"])
def show_data(this_data):
return render_template("show_data.html", data=this_data)
在我的主索引页面中从 HTML 中获取一些详细信息后,我需要将其路由到show_data
视图函数。该函数有一个参数(this_data)。但是,路由本身没有参数 - 就像"/show_data/<string:something>"
它只是"/show_data"
尝试此操作时出现以下错误。
TypeError: show_data() missing 1 required positional argument: 'this_data'
在 url 路由中是否也必须有某种参数?我可以为我的用例尝试任何解决方法吗?
解决方案
从我的 show_data 函数中删除 args 部分(this_data)并使用以下内容获取值后,我能够得到这个工作 -
this_data = request.args.get('data')
推荐阅读
- python - 在遍历数据框时抓取更新的熊猫列行
- sql - 如何禁止自定义列表具有来自不同基本列表的元素
- swift - Swift UILabel 折线的行距
- git - @{upstream} 和 @{push} 之间的 Git 区别
- python - 优化 Django Rest Framework 中的序列化程序性能
- arrays - 为什么这个使用数组堆栈的 c 中后缀输入计算器不起作用?
- c# - 如何使用 switch case 处理异常
- javascript - 为什么我不能从 JavaScript 中的 cookie 解析 HTML
- php - 在评论部分更改验证码的定位
- c++ - 如何枚举本地计算机的各种帐户权限常量?