_ . . . 重定向

作用:
    t通过重定向,实现从一个视图函数跳转到另一个视图函数的操作

导入重定向
from flask import redirect,url_for

说明

重定向    参数为要跳转的路由地址
2.url_for    通过视图函数,动态生成路由地址
3.组合使用和django中的redirect(reverse())一个意思
redirect(url_for(endpoint,**values))

实例:

要跳转的视图函数
from flask import Flask

app = Flask(__name__)

@app.route('/')
def index():
   return '无参路由'

@app.route('/arg/')
def arg(arg1):
    return 'arg1的值为%s' % arg1

@app.route('/args///')
def args(args1,args2):
    return 'args1的值为{} args2的值为{}'.format(args1,args2)

重定向的实例代码

@app.route('/redirect/')
def myRedirect():
    return redirect('/') # 重定向到无参路由
    return redirect('/arg/zhangsan/') # 重定向到一个参数的路由地址
    return redirect('/arg/zhangsan/18/')# 重定向到多个参数的路由地址
    return url_for('index') # 输出反向构造出index的路由地址
    return url_for('arg',arg1='zhangsan') # /arg/zhangsan/
    return url_for('args',args1='zhangsan',arg2=18) # /args/zhangsan/18
    return url_for('index') # 访问一个不存在的路由
# 报错:Could not build url for endpoint 'indexx'. Did you mean 'index' instead?
     return url_for('args') #Could not build url for endpoint 'args'. Did you forget to specify values ['arg1', 'arg2']?

    return redirect(url_for('index')) # 反向构造出路由定制重定向

注意:

如果给定的视图函数不存在,或者视图函数有参没有传,则构造失败(报错)

image

你可能感兴趣的:(_ . . . 重定向)