flask自定义错误页


前言

在逛淘宝、京东等大型网站的时候,有时候操作失误就会弹出错误界面,你会发现他们的错误界面很美观,不像系统自带的错误页面。
那么flask是否也可以实现自定义错误页面呢?答案是可以的,现在让我们来看一下。

一、环境

python 3.7
flask 2.0.2

二、步骤

本篇博客代码接着上篇博客flask操作数据库继续写,文件目录如下
在这里插入图片描述

1.自定义404错误页

当页面找不到的时候,会报404错误,先编写自己的404错误页,在templates文件夹下创建一个error文件夹,再创建一个自定义的404页面:
404.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <!--禁止页面缩放-->
    <meta name="viewport" content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" charset="UTF-8">
    <title>404</title>
    <style>
        * {
            padding: 0;
            margin: 0;
        }
        img {
            width: 100%;
            height: 100%;
        }
    </style>
</head>
<body>
    <img src="../../static/error/404.jpeg">
</body>
</html>

2.捕抓404错误

只需要捕抓到404错误后并返回对应的页面即可,在manage.py里面设置

from flask import render_template
from flask_script import Manager, Server
from flask_migrate import Migrate, MigrateCommand

# 这里的models必须引入,否则无法创建表
from flask_teach import create_app, db, models, error


# 调用create_app()函数创建app
app = create_app()

# 通过Manager类创建manager对象,关联app
manager = Manager(app)

# 使用Migrate,关联db,app
Migrate(app, db)

# 给manager添加一条操作命令
manager.add_command('db', MigrateCommand)

# 解决响应慢的问题
manager.add_command('runserver', Server(threaded=True))

# 加了这段代码
@app.errorhandler(404)
def ERROR_404(e):
    # e参数不能少,少了会报错
    return render_template('error/404.html')


if __name__ == '__main__':
    manager.run()

运行

故意输入一个不存在的网站,会有如下结果:
在这里插入图片描述
大功告成!!其他类型的错也可以照葫芦画瓢,有什么问题欢迎在评论区留言。

下一章:flask使用装饰器

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值