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

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

@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该怎么写呢?

阅读 11.3k
2 个回答

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

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

有两个办法
1. 获取referer url
2. 把之前的page值一起传过来

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题