← 返回首页
Python3基础教程(九十五)
发表时间:2023-04-17 02:16:57
默认参数和配置错误页面

1.在 app.route() 装饰器中指定defaults 参数


from flask import Flask, redirect, url_for

app = Flask(__name__)


# 设置默认参数
@app.route('/book', defaults={'name': '天龙八部', 'author': '金庸'})
@app.route('/book/<name>/<author>')
def author(name, author):
    # return "书名:" + name + ",作者:" + author
    return f'书名,{name},作者:{author}'


if __name__ == '__main__':
    app.run(host="127.0.0.1", port=8080, debug=True)

访问http://127.0.0.1:5000/book, 结果如下:

书名,天龙八部,作者:金庸

2.配置错误页面


from flask import Flask, redirect, url_for, render_template

app = Flask(__name__)


@app.route('/')
def hello_world():
    return 'Hello World!'


# 设置默认参数
@app.route('/book', defaults={'name': '天龙八部', 'author': '金庸'})
@app.route('/book/<name>/<author>')
def author(name, author):
    # return "书名:" + name + ",作者:" + author
    return f'书名,{name},作者:{author}'


@app.errorhandler(404)
def show_404_page(e):

    return render_template('404.html'), 404


@app.errorhandler(500)
def show_500_page(e):

    return render_template('500.html'), 500


@app.route('/test')
def test():
    # 这行代码执行后,会提示分母不能为零的错误
    result = 100 / 0
    return '100 / 0 = ', result


if __name__ == '__main__':
    app.run(host="127.0.0.1", port=8080, debug=True)