在flask中重定向是通过flask.redirect(location,code)这个函数来实现的,location表示需要重定向到的url,配合url_for()函数使用,code默认值为302,即暂时性重定向,修改为301,即为永久性重定向
多用于旧网址被废弃需要重定向到新网址的情况,演示首页永久重定向到百度
# 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)
多用于登录页面,演示用于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)