请教大家 flask 的重定向(不使用 url_for 重定向): 如下: 视图函数 A 的 url 为"127.0.0.1:8000/A",它接受通过 post 传递过来的参数为{"name":"jay"}; 视图函数 B 的 url 为"127.0.0.1:8000/B"; 请问怎么在视图函数 A 中使用 redirect 重定向到 B 的 url,同时将 A 通过请求体接受的参数也传递给 B,在视图函数 B 中使用这个参数?
1
kayseen OP 请问应该怎么在视图函数 A 中定义重定向,才能使请求体参数也传递到 B?
|
2
sunjiayao 2019-07-25 12:57:52 +08:00
把参数拼到 url 后面
|
3
lc1450 2019-07-25 13:09:32 +08:00
听起来像请求转发,不过 flask 貌似没有此功能, 重定向后就是 get 请求了,要传参只能放 url 里或者放 session 里
|
4
hzwjz 2019-07-25 13:18:10 +08:00
你的最终目的是什么?是想在视图 B 响应的时候渲染视图 A 接收 post 过来的参数?如果是这样子,你何不如将数据 post 给视图 B ?
再不济,也可以这样子吧 ```Python @app.route('/A') def view_a(): if request.method.lower() == "post": redirect(location='/B', code=302, response=make_response(render_template('template_fie.html')))) ``` 参考 https://flask.palletsprojects.com/en/1.0.x/api/#flask.redirect https://flask.palletsprojects.com/en/1.0.x/api/#flask.make_response 以上 |
5
Abbeyok 2019-07-25 13:36:08 +08:00
redirect(url_for('.B',name='jay'))
|
6
RicardoY 2019-07-25 13:41:21 +08:00
这个听起来像是 forward...flask 似乎不直接支持..
|
7
trys1 2019-07-25 13:43:52 +08:00 via Android
这已经不是 flask 的范畴了,这是 HTTP 的事
|
8
zhuweiyou 2019-07-25 15:25:58 +08:00
带上 数据的 ID,?id=xxx 然后在 B 里查出来。
带上 数据的所有内容,?json={...} 然后在 B 里直接用。 存在 session 里 |
9
Kylin30 2019-07-25 15:29:34 +08:00
把共用部分抽出来?
|
10
tomczhen 2019-07-28 17:03:02 +08:00
307/308,但是需要 http client 有实现。
|