【问题标题】:Redirect from one page to another along with some POST data in Flask [duplicate]从一个页面重定向到另一个页面以及 Flask 中的一些 POST 数据[重复]
【发布时间】:2017-09-18 21:08:59
【问题描述】:

我正在做一个 Flask 项目。成功执行登录功能后,它应该在主页上重定向一些数据。数据应通过邮寄方式发送。这是怎么做到的??

【问题讨论】:

  • 登录成功后可以使用redirect。发送数据看Response参数
  • 我正在做的事情。我不知道如何将数据附加到它。我已经尝试过获取请求,但不知道如何处理 POST 请求。
  • 所以,你应该使用url_for("url", data=data),所以在你的其他视图中使用request.args['data'],应该可以正常工作,请告诉我。
  • 当我给出逗号时它显示TypeError: redirect() got an unexpected keyword argument 'user_id'redirect(url_for('mainpage'),user_id=res['_id'])
  • 它给出了 405 错误代码,因为它把它当作 GET 请求

标签: python python-2.7 flask


【解决方案1】:

要在成功登录后发送数据,您可以在redirect 中使用url_for,如下所示:

@app.route('/login', methods = ['POST'])
def login():
    if request.method == 'POST' and request.form.get("username") == 'admin':
        return redirect(url_for('success',data=request.form.get("data")),code=307)
    else:
        return redirect(url_for('index'))

成功登录后,您可以使用您的数据通过data=data 发送,因此您可以在其他视图中获取该数据。

@app.route("/test/argument", methods=['POST'])
def success():
    messages = request.form.get('data')  # counterpart for url_for()
    return messages

【讨论】:

  • 它给出了 405 错误代码,因为它把它当作 GET 请求
  • 在将code=307 放入redirect 参数后,它仍然发出get 请求但开始工作。我不想要 GET 请求。我希望它是 POST
  • @JatinBhola 我用登录的例子更新了我的答案,这对我来说很好,退房,你告诉我任何事情。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-14
  • 1970-01-01
  • 2014-02-17
  • 1970-01-01
  • 1970-01-01
  • 2021-06-24
相关资源
最近更新 更多