首页 > 开发 > Python > 正文

Flask中请求动作完成后如何回到之前触发请求的页面

2017-09-06 19:39:01  来源:网友分享

文章列表页面,假设翻页到第二页,然后点击了某个文章的删除链接,删除操作如下

@app.route('/delete/<int:post_id>', )def delete_post(post_id):    if not session.get('logged_in'):        flash('请先登录')        return redirect(url_for('login'))    post = db.Post.find_one({'_id': post_id })    post.delete()    flash('删除成功')    return ???  # 要回到之前的页面

点击删除后,我希望回到之前翻倒的第二页列表,这里return该怎么写呢?

解决方案

flask 在 Securely Redirect Back 一节中详细讲了这种机制的实现。

使用 flask 的话,最通用的作法是使用 next 作为跳转 url 的参数名,或者从 referer 中获取。