浅入浅出Flask框架:使用redirect

June 28th 2014

2014-06-28

redirect函数用于重定向,实现机制很简单,就是向客户端(浏览器)发送一个重定向的HTTP报文,浏览器会去访问报文中指定的url。

示例


建立Flask项目

按照以下命令建立Flask项目HelloWorld:

mkdir HelloWorld
mkdir HelloWorld/static
mkdir HelloWorld/templates
touch HelloWorld/index.py

编写代码

使用redirect时,给它一个字符串类型的参数就行了。

编辑HelloWorld/index.py

from flask import Flask, url_for, redirect

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'hello world'

@app.route('/test1')
def test1():
    print 'this is test1'
    return redirect(url_for('test2'))

@app.route('/test2')
def test2():
    print 'this is test2'
    return 'this is test2'

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

运行HelloWorld/index.py,在浏览器中访问http://127.0.0.1:5000/test1,浏览器的url会变成http://127.0.0.1:5000/test2,并显示:

this is test2

HelloWorld/index.py的输出信息为:

this is test1
127.0.0.1 - - [28/Jun/2014 18:56:23] "GET /test1 HTTP/1.1" 302 -
this is test2
127.0.0.1 - - [28/Jun/2014 18:56:24] "GET /test2 HTTP/1.1" 200 -

(完)