zl程序教程

您现在的位置是:首页 >  前端

当前栏目

Flask框架中的页面跳转和重定向redirect用法详解

框架重定向 详解 用法 页面 跳转 Flask Redirect
2023-09-11 14:15:14 时间

        重定向分为永久性重定向和暂时性重定向,在页面代码操作中就是浏览器会从一个页面自动跳转到另外一个页面。比如用户访问了一个需要权限的页面,但是该用户当前并没有登录,因此应该给他重定向到登录页面。

  • 永久性重定向:http的状态码是301,多用于旧网址被废弃了要转到一个新的网址确保用户的访问。
  • 暂时性重定向:http的状态码是302,表示页面的暂时性跳转。比如访问一个需要权限的网址,如果当前用户没有登录,应该重定向到登录页面,这种情况下,应该用暂时性重定向。

示例代码1:

from flask import Flask, url_for, request, redirect

app = Flask(__name__)


@app.route('/')
def index():
    # return redirect('www.baidu.com')  # 这是一种错误写法
    return redirect('https://www.baidu.com')


if __name__ == '__main__':
    app.run()

运行结果:

 示例代码2:

from flask import Flask, url_for, request, redirect

app = Flask(__name__)


@app.route('/userinfo')
def user_info():
    user_id = request.args.get('id')
    if user_id:
        return "欢迎进入用户中心"
    else:
        return redirect(url_for('login'))


@app.route('/login')
def login():
    return '请登录用户名!'


if __name__ == '__main__':
    app.run()

运行结果: