【发布时间】:2016-12-24 19:29:03
【问题描述】:
我想发出一个帖子请求,将用户名和密码发送到名为 showInternal 的页面;我目前通过以下方式完成此操作:
username = "johnsmith"
password = "password1234"
return redirect(url_for('showInternal', username=username, password=password))
用于重定向和
@app.route('/internal', methods=['GET'])
@login_required
def showInternal():
return render_template('internal.html')
用于目标页面。从某种意义上说,这种方法是有效的,它将我带到/internal?password=password1234&username=johnsmith。
但是,我不想在 url 中显示用户的用户名和密码。我尝试用methods=['POST'] 替换短语methods=['GET'],但随后我收到关于该方法不被允许的错误,并且数据仍然保留在url 中。
如何在不显示在 url 中的情况下传递这些数据?
【问题讨论】:
-
你不能重定向到 POST,所以我会通过会话来做。
-
等一下,你当然可以通过帖子重定向 - 请参阅此处:stackoverflow.com/q/15473626/3238611
-
我以为您试图将 GET 重定向到 POST,误读。我不相信 GET 到 POST 会受到任何客户的尊重,除非原始请求包含正文,否则我不知道该怎么做。
-
我需要一个视图来确保用户名/密码正确,而另一个视图需要它们,因为flask 的@login_required 需要一个带有字段的请求对象。出于这个原因,我也不能只调用该函数,除非它们在包含请求时以某种方式这样做。
标签: python redirect post flask