请稍候,加载中....

重定向与错误

要将用户重定向到另一个端点,请使用redirect() 函数;要使用错误代码提前中止请求,请使用以下 abort()功能

重定向示例

from flask import abort, redirect, url_for

@app.route('/')
def index():
    return redirect(url_for('login'))

@app.route('/login')
def login():
    abort(401)
    this_is_never_executed()

当用户访问/url时,通过redirect会跳转到login页面, 而当跳转到login时,由于视图函数存在abort,所以会再次被重定向到401错误页面

默认情况下,每个错误代码都显示一个黑白错误页面。如果要自定义错误页面,可以使用 errorhandler()装饰器

from flask import render_template

@app.errorhandler(404)
def page_not_found(error):
    return render_template('page_not_found.html'), 404

注意在render_template之后的404,告诉Flask返回该页面的状态码为404,表示找不到,正常页面返回的状态码为200

 


Python学习手册-