flask重定向

flask重定向

在flask中重定向是通过flask.redirect(location,code)这个函数来实现的,location表示需要重定向到的url,配合url_for()函数使用,code默认值为302,即暂时性重定向,修改为301,即为永久性重定向

1.永久性重定向

多用于旧网址被废弃需要重定向到新网址的情况,演示首页永久重定向到百度

# coding:utf8
from flask import Flask,url_for,redirect,request
from werkzeug.routing import  BaseConverter


app = Flask(__name__)


@app.route('/')
def hello_world():
    # 永久重定向到新网址到百度
    return redirect('http://www.baidu.com',code=301)


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




2.暂时性重定向

多用于登录页面,演示用于profile网页没有传入name参数而重定向到login网页登陆的情况

# coding:utf8
from flask import Flask,url_for,redirect,request
from werkzeug.routing import  BaseConverter

app = Flask(__name__)


@app.route("/login/")
def login():
    """
    登录函数
    :return:
    """
    return "login"

@app.route("/profile/")
def profile():
    """
    个人中心
    接受到传递过来的name参数的时候才进入个人中心
    :return:
    """
    if request.args.get("name"):
        return "个人中心"
    else:
        # 默认302 暂时性重定向
        return redirect(url_for('login'))


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

你可能感兴趣的:(python,flask)