• 自定义错误页面


    如果你在浏览器的地址栏中输入了不可用的路由,那么会显示一个状态码为 404 的错误页面。现在这个错误页面太简陋、平庸,而且样式和使用了 Bootstrap 的页面不一致。

    像常规路由一样,Flask 允许程序使用基于模板的自定义错误页面。最常见的错误代码有两个:404,客户端请求未知页面或路由时显示;500,有未处理的异常时显示。为这两个错误代码指定自定义处理程序的方式如下所示:

    1. @app.errorhandler(404)
    2. def page_not_found(e):
    3. return render_template("404.html"), 404
    4. @app.errorhandler(500)
    5. def internal_server_error(e):
    6. return render_template("500.html"), 500
    其中的404.html和500.html可以自己定义。
    比如我的404.html如下所示:
    1. {% extends "base.html" %}
    2. {% block title %}Flask - Page Not Found{% endblock %}
    3. {% block page_content %}
    4. <div class="page-header">
    5. <h1>Not Foundh1>
    6. div>
    7. {% endblock %}

    其继承了一个base.html如下所示:

    1. {% extends "bootstrap/base.html" %}
    2. {% block title %}Flasky{% endblock %}
    3. {% block navbar %}
    4. <div class="navbar navbar-inverse" role="navigation">
    5. <div class="container">
    6. <div class="navbar-header">
    7. <button type="button" class="navbar-toggle"
    8. data-toggle="collapse" data-target=".navbar-collapse">
    9. <span class="sr-only">Toggle navigationspan>
    10. <span class="icon-bar">span>
    11. <span class="icon-bar">span>
    12. <span class="icon-bar">span>
    13. button>
    14. <a class="navbar-brand" href="/">Flaskya>
    15. div>
    16. <div class="navbar-collapse collapse">
    17. <ul class="nav navbar-nav">
    18. <li><a href="/">Homea>li>
    19. ul>
    20. div>
    21. div>
    22. div>
    23. {% endblock %}
    24. {% block content %}
    25. <div class="container">
    26. {% block page_content %}{% endblock %}
    27. div>
    28. {% endblock %}

    于是当我输入一个无效的url时,页面上会出现我定义的报错:

     并且当我打开控制台检查时,发现状态码为404:

     


    参考资料:

    Flask Web开发:基于Python的Web应用开发实战 ([美] Miguel Grinberg)

  • 相关阅读:
    十四、垃圾回收概述
    React Three Fiber快速入门
    java spring cloud 工程企业管理软件-综合型项目管理软件-工程系统源码
    简单神经网络算法原理,最简单的神经网络算法
    FullCalendarDemo5 控件的实例讲解—拖拽实现值班排班(二)
    Mysql数据库 2.SQL语言 数据类型与字段约束
    Vue核心 内置指令 自定义指令
    sqlplus set参数大区
    【好玩】如何在github主页放一条贪吃蛇
    2021.06 编程题 36【Python二级题目解析】
  • 原文地址:https://blog.csdn.net/qq_55621259/article/details/126723655