【问题标题】:Can you pass additional parameter to return redirect(url_for())? As you can for return render_template()你可以传递额外的参数来返回重定向(url_for())吗?你可以返回 render_template()
【发布时间】:2020-05-13 17:38:05
【问题描述】:

我正在尝试在 return redirect(url_for('name'), msg=msg) 中传递类似于 return render_template('name.html', msg=msg) 的消息。但它不起作用。有可能吗?

谢谢,

DL

【问题讨论】:

标签: html python-3.x flask jinja2


【解决方案1】:

假设你有一个像

这样的端点
@app.route("/name")
def name():
   msg = request.args.get("msg")
   return render_template("name.html", msg=msg) 

你可以使用

return redirect(url_for("name", msg=msg))

在另一个端点重定向到/name 并将msg 作为参数传递。

【讨论】:

  • 我的端点看起来很相似,但像这样 @app.route("/name") def name(): msg = "Wrong information" return render_template("name.html", msg=msg) this没关系并且有效。在创建此帖子之前,我按照您的建议进行了尝试: return redirect(url_for("name", msg=msg)) 它不会将该消息传递给 name.html 脚本。像这样使用重定向是否正确?是单引号还是双引号有关系吗?
  • 单我们的双引号没关系。在您的帖子中,您写的是redirect(url_for('name'), msg=msg)而不是redirect(url_for('name', msg=msg)),您是否正确设置了括号?
  • 我已经正确设置了括号,但仍然没有使用 redirect(url_for()) 将消息传递给 name.html
猜你喜欢
  • 1970-01-01
  • 2011-11-14
  • 2012-06-06
  • 2020-06-04
  • 2020-05-02
  • 2020-10-01
  • 2018-10-25
  • 1970-01-01
  • 2019-09-19
相关资源
最近更新 更多