您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Flask / Werkzeug,登录后如何返回上一页

Flask / Werkzeug,登录后如何返回上一页

我认为标准做法是将成功登录后需要将用户重定向到的URL附加到登录URL的查询字符串的末尾。

您可以将装饰器更改为如下所示(装饰器函数中的冗余也已删除):

def logged_in(f):
    @wraps(f)
    def decorated_function(*args, **kwargs):
        if session.get('logged_in') is not None:
            return f(*args, **kwargs)
        else:
            flash('Please log in first...', 'error')
            next_url = get_current_url() # However you do this in Flask
            login_url = '%s?next=%s' % (url_for('login'), next_url)
            return redirect(login_url)
    return decorated_function

您必须用代替某些东西get_current_url(),因为我不知道Flask中是如何完成的。

然后,在登录处理程序中,当用户成功登录后,您将检查next请求中是否有参数,如果有,则将其重定向到该URL。否则,您会将它们重定向到某个认URL(通常/,我想)。

Python 2022/1/1 18:37:15 有361人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶